python - 如何检测 Python 代码正在通过调试器执行?

标签 python debugging

是否有一种简单的方法可以在 Python 代码中检测到该代码是否正在通过 Python 调试器执行?

我有一个使用 Java 代码的小型 Python 应用程序(感谢 JPype)。当我调试 Python 部分时,我希望嵌入式 JVM 也可以传递调试选项。

最佳答案

Python 调试器(以及分析器和覆盖工具)使用 sys.settrace 函数(在 sys 模块中)注册一个回调,该回调会在感兴趣的事件时被调用发生。

如果您使用的是 Python 2.6,则可以调用 sys.gettrace() 来获取当前跟踪回调函数。如果它不是 None 那么你可以假设你应该将调试参数传递给 JVM。

目前尚不清楚在 2.6 之前您如何做到这一点。

关于python - 如何检测 Python 代码正在通过调试器执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/333995/

相关文章:

Python- dill : Can't pickle decorated class

python - Python3 Asyncio 创建任务时出现问题

c++ - 如何在 "first-chance"期间使用 VS 调试器检查 C++ 异常对象?

debugging - "The breakpoint will not currently be hit"继续显示在局部 View 上

python - 使用 python-firebase 查询 Firebase

python - 不变的变量,即使它发生变化

android - 有什么方法可以将日志转储到 Android Studio 中,以便 Android Monitor 可以重复使用它们?

c - "Ej4.exe has stopped working"– 如何使用调试器?

linux - 调试 make 和 cmake?

具有长时间运行计时器的 Python 线程意外退出