gpt4 book ai didi

Python:如何检测调试解释器

转载 作者:太空狗 更新时间:2023-10-29 17:42:59 25 4
gpt4 key购买 nike

我如何在我的 python 脚本中检测它是否由调试解释器运行(即 python_d.exe 而不是 python.exe)?我需要更改传递给扩展程序的一些 dll 的路径。

例如,我想在我的 python 脚本的开头做这样的事情:

#get paths to graphics dlls
if debug_build:
d3d9Path = "bin\\debug\\direct3d9.dll"
d3d10Path = "bin\\debug\\direct3d10.dll"
openGLPath = "bin\\debug\\openGL2.dll"
else:
d3d9Path = "bin\\direct3d9.dll"
d3d10Path = "bin\\direct3d10.dll"
openGLPath = "bin\\openGL2.dll"

我考虑过向扩展添加一个“IsDebug()”方法,如果它是调试版本(即使用“#define DEBUG”构建)则返回 true,否则返回 false。但这似乎对某些事情有点 hack 我确定我可以让 python 告诉我...

最佳答案

Distutils use sys.gettotalrefcount to detect a debug python build :

# ...
if hasattr(sys, 'gettotalrefcount'):
plat_specifier += '-pydebug'
  • 此方法不依赖可执行文件名称“*_d.exe”。它适用于任何名称。
  • 此方法是跨平台的。它不依赖于“_d.pyd”后缀。

参见 Debugging BuildsMisc/SpecialBuilds.txt

关于Python:如何检测调试解释器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/646518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com