2016-02-26 1555 views
3

在Pycharm 5.0.4中调试我的Python 3.5 pogram时,我试图点击暂停按钮来查找程序挂起的原因/方式(可以在Visual Studio中完成)。如何在Pycharm中暂停程序执行(暂停按钮不工作)?

然而,什么也没有发生:暂停按钮不会变成灰色和恢复按钮保持灰色,并在调试工具窗口,“框架是不可用”。

我试着用不同的基本程序,在Linux和Windows上,都无济于事。

这是bug还是我失去了在Pycharm调试应该如何工作的东西吗?

我还注意到,当一个断点时,只有一个线程被挂起,我可以看到没有办法暂停其他线程检查他们的堆栈帧。我很想知道如何实现这个特定于线程的暂停。

回答

-1

在PyCharm中,有一个用于调试的选项,它可以让你逐步浏览代码,这可能更有用,而不是试图暂停程序。

您需要在代码中最初插入一个断点;只是在该行点击灰色栏中你想打破:

InsertBreakPoint

然后,你可以按Alt + Shift + F9,或在菜单中单击Run > Debug开始通过从该点代码加强:

enter image description here

DebugStepThrough

一旦启动调试模式,通过单击红色圆圈高亮按钮 - 这将使您逐步浏览代码,查看变量,分配以及是否收到任何错误。

如果您需要停止在任何时候,正好打在调试窗口的左边的红色停止按钮。
控制台选项卡将允许您查看正在打印的内容到屏幕上(如果有的话),以及在什么时候,你免于报表打印负荷喜欢你,如果使用空闲或类似的IDE

调试

HTH

+3

断点是不要随意停止执行,并且确定哪些线路都挂在死锁的情况下非常有用的。 –

0

听起来像你的程序挂在睡眠或类似的东西上,或者可能在某些本地代码上。

如果这是一个普通的Python循环暂停蟒蛇会工作。 我相信问题是与Python本身,而不是你正在使用的调试工具。

当您暂停python程序时,您会暂停interperter,因此所有在interperter上下文中运行的线程都会暂停,您可以在框架窗口中看到它们。显示消息“帧在非暂停状态下不可用”的任何线程都不会暂停,因为它在暂停程序时正在休眠。

看到了如何调试C代码 Not working python breakpoints in C thread in pycharm or eclipse+pydev