python - 如何在 Pycharm 中暂停程序执行(暂停按钮不起作用)?

标签 python multithreading debugging pycharm suspend

在 Pycharm 5.0.4 中调试我的 Python 3.5 程序时,我试图按下暂停按钮以查找程序挂起的原因/位置(可以在 Visual Studio 中完成)。

但是,没有任何反应:暂停按钮没有变灰,恢复按钮保持灰色,并且在调试器工具窗口中,“框架不可用”。

我在 Linux 和 Windows 上尝试了不同的基本程序,但无济于事。

这是一个错误还是我遗漏了 Pycharm 调试的工作原理?

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

最佳答案

听起来您的程序卡在 sleep 或类似的东西上,或者可能卡在某些 native 代码上。

如果它是一个常规的 python 循环,pause python 将起作用。 我认为问题出在 python 本身,而不是您使用的调试工具。

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

有关如何调试 C 代码的信息,请参见此处 Not working python breakpoints in C thread in pycharm or eclipse+pydev

关于python - 如何在 Pycharm 中暂停程序执行(暂停按钮不起作用)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35649704/

相关文章:

c++ - 委托(delegate)断言

python - Python 结构的内存大小

python - 如何将编译的编程语言和脚本语言一起使用?

python - 如何检查 Django 中的两个模型是否相等?

php - 从 php 调用的 python 脚本连接到数据库

multithreading - Prolog中的并行素数?

windows - 双工命名管道在某个写入时挂起

java - Jmeter行为怪癖

android - Activity 关闭后服务停止工作, Activity 停止时调试器停止

java - 无法阅读简单的递归代码(JAVA)