Ber*_*chi 11 python eclipse debugging ctypes shared-libraries
我有一个使用ctypes和C共享库(dll文件)的Python程序.作为IDE,我使用的是Eclipse,它将开发两个项目(C-shared库和使用它的python程序).
我的想法是:当我在调试模式下启动Python程序时,我能以某种方式调试用C编写的共享库吗?含义:我可以设置断点,当Python程序到达共享库中的断点时,执行停止,我可以更改变量值等吗?
谢谢您的帮助.
实际上,在 Eclipse 中使用 CDT 和 PyDev 环境是一件相当简单的事情。
我在这里假设您已经正确配置了项目,因此您可以单独构建和调试每个项目。
基本上,您只需要在 Debug 模式下启动 Python 项目,然后将 CDT 调试器附加到正在运行的 Python 进程。为了方便起见,我将尝试逐步描述它:
在调试模式下运行 Python 项目。在使用 ctypes 加载 dll 后在某处放置一个断点。请记下创建的Python进程的PID(你应该看到的第一线在控制台视图中陈述PID是这样的:。 pydev debugger: starting (pid: 1234))
为您的 CDT 项目创建调试配置,选择类型“C/C++ 附加到应用程序”。您可以使用默认配置。
使用您创建的配置调试您的项目。应该会出现一个窗口,询问您要附加到哪个进程。选择具有正确 pid 的 python 进程。
您现在可以向 C 代码添加断点。
在调试透视图中,您将有两个调试器,就好像它们是两个不同的进程一样。当您使用 python 调试器时,您应该始终确保 C/C++ 调试会话正在运行 - 只要 C/C++ 调试会话被挂起,python 调试器就会无响应。