我有一个Python扩展,我已经成功地构建并在Windows、OSX和linux上使用。我现在需要能够调试这个Python扩展。我不喜欢在命令行中使用gdb,所以我非常希望在Eclipse中使用gdb。在
首先,我尽力按照http://www.heikkitoivonen.net/blog/2008/07/21/debugging-python-extension-written-in-c-with-eclipse/中的说明进行操作,并将Python源代码的文件夹以及Python扩展代码的文件夹作为源文件夹添加到空项目中。由于在linux上获得所有需要的调试版本相对容易,所以我开始在Ubuntu中进行调试开发。在
一旦我得到了python的调试版本(让我们称之为python_d),我运行设置.py用我的分机
python_d setup.py build
它还应该生成扩展模块的调试版本。我已经通过在Eclipse中将扩展作为应用程序打开来验证符号是否被导出,并且我可以看到与Python共享对象链接的源代码。在
现在,如果我在Eclipse中使用代码文件夹创建另一个项目,并在源代码中添加用于创建扩展的断点,它不会在断点处停止。我完全有可能在这里遗漏了一些非常重要的东西,但就我的一生而言,我无法让它发挥作用。问题的症结在于:
如何让Eclipse在Python扩展模块中的断点处停止?在
你用的是GCC编译器还是MSVC?对于MSVC,可以先启动python,然后附加python_d.exe(windbg或visual studio),然后加载模块,设置断点,可以验证模块的符号是否已加载到调试模块窗口(MSVC)中。在
相关问题 更多 >
编程相关推荐