在Eclipse中debuggingPython扩展

我有一个Python扩展,我已经成功地在Windows,OSX和Linux上构build和使用。 我现在需要能够debugging这个Python扩展。 我不喜欢在命令行使用gdb,所以我真的想在Eclipse中使用它。

首先,我尽我所能按照http://www.heikkitoivonen.net/blog/2008/07/21/debugging-python-extension-written-in-c-with-eclipse/中的说明操作,而我将Python源文件夹以及作为源文件夹的python扩展代码文件夹添加到空项目中。 因为在linux上debugging所需的东西比较容易,所以我开始在Ubuntu中进行debugging开发。

一旦我得到了python的debugging版本(让我们称之为python_d),我用我的扩展名运行了setup.py

python_d setup.py build 

这也应该产生扩展模块的debugging版本。 我已经validation了通过在Eclipse中打开扩展作为应用程序来导出符号,我可以看到与Python共享对象链接的源代码。

现在,如果我在Eclipse中使用我的代码的文件夹创build另一个项目,并在用于创build扩展的源代码中添加一个断点,它不会停在断点处。 我在这里完全有可能失去一些相当重要的东西,但是对于我来说,我无法做到这一点。 问题的症结在于:

如何让Eclipse停止在Python扩展模块的断点处?

你使用哪种编译器,MSVC或GCC? 对于MSVC,你可以先启动python,并附上python_d.exe(windbg或visual studio),然后你可以加载你的模块,设置断点,你可以validation你的模块符号是否加载到debug-> module窗口中MSVC)。