从C+;内部调用Python时进行调试的有效方法+;密码 我有一个C++应用程序(在Windows XP上)调用一些Python代码。我目前使用Winpdb作为python调试器

从C+;内部调用Python时进行调试的有效方法+;密码 我有一个C++应用程序(在Windows XP上)调用一些Python代码。我目前使用Winpdb作为python调试器,python,debugging,Python,Debugging,使用winpdb作为调试器有一些缺点,因为首先,我需要添加一个pdb语句,在执行过程中,由于我添加了动态断点,所以几乎没有控制权 有人知道可以使用与VisualStudio2010(或一般的VisualStudio)工作方式类似的工具吗?对我来说,最重要的是能够在应用程序执行时设置和删除断点,就像我们可以使用VisualStudio一样 我已经看过ActiveState Komodo IDE6和Eclipse Python PyDev,但我认为两者都不适合。这是因为我有各种初始化的python模

使用winpdb作为调试器有一些缺点,因为首先,我需要添加一个pdb语句,在执行过程中,由于我添加了动态断点,所以几乎没有控制权

有人知道可以使用与VisualStudio2010(或一般的VisualStudio)工作方式类似的工具吗?对我来说,最重要的是能够在应用程序执行时设置和删除断点,就像我们可以使用VisualStudio一样

我已经看过ActiveState Komodo IDE6和Eclipse Python PyDev,但我认为两者都不适合。这是因为我有各种初始化的python模块 使用C++函数调用“PyIInMutoMeMod”,其名称可能与.Py文件的名称不同。Komodo和Eclipse Python PyDev无法识别这些模块


如果你有任何建议,请告诉我。谢谢你的帮助。

好吧,对我来说,它似乎在PyDev中工作。。。唯一的问题是您必须将跟踪附加到调试器——在要跟踪的线程上使用pydevd.settrace(suspend=False),然后它应该“同步”当前断点及其添加/删除(更多参考:)——注意,您可以使用pydevd.settrace(suspend=True)在pdb中用作断点


我真的不明白你为什么说这行不通。你能发布你的具体例子说明什么是不起作用的,看看这是如何解决的吗?(有些东西可以在pydevd_文件_utils.py中自定义,以帮助转换断点路径)。

亲爱的Fabio,感谢您的回复。在您的建议之后,我能够使用PyDeV和Eclipse调试C++应用程序。我没有阅读有关远程调试的详细信息,因为我认为远程调试只用于调试在远程机器上运行的应用程序。再次感谢。