在Pycharm 5.0.4中调试python3.5pogram时,我试图点击pause按钮来找出程序挂起的原因/位置(在visualstudio中可以这样做)。在
但是,什么也没有发生:暂停按钮没有变灰,恢复按钮保持灰色,在调试器工具窗口中,“帧不可用”。在
我尝试了不同的基本程序,在Linux和Windows上都没有用。在
这是一个bug还是我遗漏了Pycharm调试的工作原理?在
我还注意到,当一个断点被命中时,只有一个线程被挂起,我看不到任何方法可以挂起其他线程来检查它们的堆栈帧。我也很想知道如何实现这种线程特定的挂起。在
Tags:
在PyCharm中,有一个用于调试的选项,它允许您逐步检查代码,这可能更有用,而不是尝试暂停程序。在
首先需要在代码中插入一个断点;只需在灰色条中单击要打断的行:
然后,您可以按Alt+Shift+F9,或单击菜单中的
Run > Debug
从该点开始单步执行代码:启动调试模式后,单击红色圆圈突出显示的按钮-这将使您能够逐步完成代码,查看变量、它们的分配以及是否收到任何错误。在
如果您需要在任何时候停止,只需点击调试窗口左侧的红色停止按钮。
console选项卡将允许您查看正在打印到屏幕上的内容(如果有的话),以及在什么情况下,您可以像使用空闲或类似的ide进行调试那样保存大量打印语句
高温
听起来你的程序好像是挂在睡眠或类似的东西上,或者可能挂在一些本机代码上。在
如果这是一个常规的python循环,pause python就可以工作了。 我相信问题出在python本身,而不是您使用的调试工具。在
暂停python程序时,会暂停interperter,因此在interperter上下文中运行的所有线程都将暂停,您可以在frames窗口中看到它们。任何显示消息“Frames not available in non suspended state”的线程都不会挂起,因为当您暂停程序时,它正在休眠。在
有关如何调试c代码,请参见下面的内容 Not working python breakpoints in C thread in pycharm or eclipse+pydev
相关问题 更多 >
编程相关推荐