在Eclipse中运行的Python代码中调试Visual Studio中的C++代码
有没有人知道我们该怎么做?我在Eclipse里写了Python代码,每当它调用C++函数时,我希望调试的断点能跳到Visual Studio的C++项目里。
2 个回答
2
如果你的C++应用程序是作为一个独立的进程运行,那就简单多了。你可以自己启动这个进程,或者把Visual Studio连接到已经在运行的进程上,然后设置断点。
如果C++代码是嵌入的DLL或LIB文件,那么你可以用Python来调试或启动这个进程。当Python加载这个DLL或LIB到你的Python代码中时,Visual Studio就会激活你设置的断点。
另外,你也可以在代码中添加Windows调试器启动的调用。只要你的代码开始执行,就会弹出一个对话框,问你是否想要连接调试器。
4
你可以在Visual Studio中使用一个叫做__debugbreak
的指令,这样每次代码被调用的时候,就会自动启动调试器(你可以在MSDN上搜索这个函数)。
把这个指令插入到你想要调试的C++函数(或者类的方法)里,比如:
void foo()
{
__debugbreak();
[...]
}
在这个时候,编译一下库文件,然后运行你的Python脚本。当库加载并执行代码时,会弹出一个消息框,询问你是否想要连接Visual Studio的调试器。
这个指令是用来替代以前的__asm { int 3 }
的。