Python 如何在Pycharm中暂停程序执行(暂停按钮不工作)?
在Pycharm 5.0.4中调试我的Python 3.5 pogram时,我试图点击暂停按钮来查找程序挂起的原因/位置(在Visual Studio中可以这样做) 但是,什么也不会发生:暂停按钮不会变为灰色,恢复按钮保持灰色,并且在调试器工具窗口中,“帧不可用” 我在Linux和Windows上尝试了不同的基本程序,但都没有成功 这是一个bug还是我遗漏了Pycharm调试的工作原理Python 如何在Pycharm中暂停程序执行(暂停按钮不工作)?,python,multithreading,debugging,pycharm,suspend,Python,Multithreading,Debugging,Pycharm,Suspend,在Pycharm 5.0.4中调试我的Python 3.5 pogram时,我试图点击暂停按钮来查找程序挂起的原因/位置(在Visual Studio中可以这样做) 但是,什么也不会发生:暂停按钮不会变为灰色,恢复按钮保持灰色,并且在调试器工具窗口中,“帧不可用” 我在Linux和Windows上尝试了不同的基本程序,但都没有成功 这是一个bug还是我遗漏了Pycharm调试的工作原理 我还注意到,当遇到断点时,只有一个线程被挂起,我无法挂起其他线程来检查它们的堆栈帧。我也很想知道如何实现这个特
我还注意到,当遇到断点时,只有一个线程被挂起,我无法挂起其他线程来检查它们的堆栈帧。我也很想知道如何实现这个特定于线程的挂起。在PyCharm中,有一个调试选项,它允许您逐步完成代码,这可能更有用,而不是试图暂停程序 最初需要在代码中插入断点;只需单击要打断的线处的灰色栏: 然后可以按Alt+Shift+F9,或单击菜单中的
Run>Debug
,从该点开始单步执行代码:
启动调试模式后,单击红色圆圈突出显示的按钮-这将使您能够逐步完成代码,查看变量及其赋值,以及是否收到任何错误
如果您需要在任何时候停止,只需点击调试窗口左侧的红色停止按钮。console选项卡将允许您查看正在打印到屏幕上的内容(如果有的话),以及在什么时候,您可以像使用空闲或类似IDE进行调试一样保存大量的打印语句
HTH听起来你的程序好像挂在睡眠或类似的东西上,或者挂在一些本机代码上 如果它是一个常规的python循环,那么暂停python就可以工作了。 我相信问题在于python本身,而不是您正在使用的调试工具 暂停python程序时,暂停interperter,因此在interperter上下文中运行的所有线程都将暂停,您可以在frames窗口中看到它们。显示消息“Frames not available in non-suspended state”(帧在非挂起状态下不可用)的任何线程都不会挂起,因为您暂停程序时它正在休眠 有关如何调试c代码,请参见此
断点对于任意挂起执行并确定哪些行在死锁情况下挂起不是很有用。