如何调试Python中使用的Windows DLL?

时间:2014-11-26 16:34:20

标签: python windows dll clr

在Windows7上,我有一个使用Windows公共语言运行时(CLR)的Windows DLL的python脚本。其中一个使用的DLL内部发生错误,但标准Python调试器仅在Python代码级别(而不是DLL)上进行调试。

如何调试DLL内部的内容?

2 个答案:

答案 0 :(得分:9)

如果您有Microsoft Visual Studio,

1)打开您的DLL所属的Visual Studio项目(或创建一个新项目)。

2)如果您已设置DLL进行调试(您已使用调试信息构建它,并且它将是您的python程序将使用的那个),则可以在DLL代码中设置断点。 / p>

3)像平常一样启动要调试的程序。

4)返回Visual Studio IDE并转到Debug菜单。选择Attach to Process选项。然后,您将获得所有正在运行的进程的列表。

5)选择要调试的进程,即python程序或运行程序的运行时。

6)坐下来等待其中一个断点被击中,或者您可以从“调试”菜单中尝试Break All暂时停止该程序。

这是开始调试python程序的一般方法,但是需要调试程序正在使用的DLL的任何程序。

请注意,如果您自己使用调试信息构建了DLL并且python应用程序正在使用它,则上述建议最有效。如果它是没有源代码的第三方DLL,您仍然可以从Visual Studio进行调试,但需要知道汇编语言(因为源代码通常不可用)。

答案 1 :(得分:0)