Python在外部C调试器中达到断点时完成进程

时间:2015-08-09 15:15:55

标签: python c++ xcode swig remote-debugging

我正在尝试调试通过Xcode(7-beta)编写的c代码动态库,并且该库被封装为Python(2.7.3)模块。 Swig(v3.0.5 - > http://www.swig.org/)用于执行绑定,Xcode用于编译和生成库。这一切都运行良好。 Python通过PyCharm(CE 4.5.3)运行。

为了调试库,我进行调试构建,从PyCharm启动模块,转到Xcode,菜单“debug-> attach to process-> Python”附加到进程,它就像一个魅力,程序员的梦想(差不多)。达到断点,读取变量等

所以这就是问题所在:

当C代码在断点处被正确停止时,PyCharm中的运行脚本已完成(退出代码为0),就好像它已经自然地到达了它的端点一样。这是一个简单的问题再现的情况:

C代码(动态库):

int TestIt(){    
    return 42;
}

虽然Python代码基本上是:

import time
import my_c_dinamiclib

for i in range(60):
    print i, my_c_dynamiclib.TestIt()
    time.sleep(1)

所以有60秒的时间来附加到这个过程。

有谁知道如何处理这个问题?我已经尝试在调试模式下运行Python,但没有成功。

0 个答案:

没有答案
相关问题