windows平台上python和C语言混编时如何对C语言进行调试

  

如果有可用的Microsoft Visual Studio,

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

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

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

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

5)选择要调试的进程,它将是python程序,或者是正在运行程序的运行时。如图1所示:

windows平台上python和C语言混编时如何对C语言进行调试 - 文章图片

                                                                             图1:步骤4)-5)

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

这是一种开始调试的通用方法,不仅可以调试python程序,还可以调试需要调试该程序正在使用的DLL的任何程序。

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

 

答案来源:https://stackoverflow.com/questions/27154325/how-to-debug-a-windows-dll-used-inside-python

相关文章