如何在Pycharm中暂停程序执行(暂停按钮不工作)?
问题描述:
在Pycharm 5.0.4中调试我的Python 3.5 pogram时,我试图点击暂停按钮来查找程序挂起的原因/方式(可以在Visual Studio中完成)。如何在Pycharm中暂停程序执行(暂停按钮不工作)?
然而,什么也没有发生:暂停按钮不会变成灰色和恢复按钮保持灰色,并在调试工具窗口,“框架是不可用”。
我试着用不同的基本程序,在Linux和Windows上,都无济于事。
这是bug还是我失去了在Pycharm调试应该如何工作的东西吗?
我还注意到,当一个断点时,只有一个线程被挂起,我可以看到没有办法暂停其他线程检查他们的堆栈帧。我很想知道如何实现这个特定于线程的暂停。
答
听起来像你的程序挂在睡眠或类似的东西上,或者可能在某些本地代码上。
如果这是一个普通的Python循环暂停蟒蛇会工作。 我相信问题是与Python本身,而不是你正在使用的调试工具。
当您暂停python程序时,您会暂停interperter,因此所有在interperter上下文中运行的线程都会暂停,您可以在框架窗口中看到它们。显示消息“帧在非暂停状态下不可用”的任何线程都不会暂停,因为它在暂停程序时正在休眠。
看到了如何调试C代码 Not working python breakpoints in C thread in pycharm or eclipse+pydev
断点是不要随意停止执行,并且确定哪些线路都挂在死锁的情况下非常有用的。 –