在windows7上,我有一个使用windows DLL的Python脚本,使用.NET公共语言运行时(CLR)。 一个使用的DLL内部发生错误,但标准的PythondeBUGging器只能在Python代码级(而不是DLL)上进行deBUGging。
我怎样才能deBUGgingDLL(S)内发生了什么?
CLR如何实现COM实现的二进制互 *** 作级别? 还是不?
用breakpad创buildCLR转储
.NET运行时(CLR),JIT编译器位于何处?
.NET CLR性能计数器丢失
一个线程可以在临界区中被抢占吗?
如果您有Microsoft Visual Studio可用,
1)打开您的DLL所属的Visual Studio项目(或创建一个新项目)。
2)如果你已经建立了你的DLL进行调试(你已经用调试信息构建了它,它将是你的python程序将使用的那个),你可以在DLL代码中设置断点。
3)按照正常的方式启动要调试的程序。
4)返回到Visual Studio IDE并转到DeBUG菜单。 选择Attach to Process选项。 您将获得所有正在运行的进程的列表。
5)选择你想要调试的进程,这将是你的Python程序,或运行你的程序的运行时。
6)坐下来等待你的某个断点被击中,或者你可以尝试从DeBUG菜单中选择Break All来暂停程序。
这是一个开始不仅调试python程序,而且还需要调试程序正在使用的DLL的程序的一般方法。
请注意,如果您使用调试信息自己构建了DLL并且正在被Python应用程序使用,那么上述建议的效果最好。 如果它是没有源代码的第三方DLL,那么仍然可以从Visual Studio进行调试,但需要知道汇编语言(因为源代码通常不可用)。
这三个pythonnet的调试场景都基于PTVS文档:
https://github.com/pythonnet/pythonnet/wiki/VarIoUs-deBUGging-scenarios-of-embedded-cpython
总结以上是内存溢出为你收集整理的如何debuggingPython中使用的Windows DLL?全部内容,希望文章能够帮你解决如何debuggingPython中使用的Windows DLL?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)