在Eclipse中运行的Python代码中调试Visual Studio中的C++代码

4 投票
2 回答
1698 浏览
提问于 2025-04-16 01:57

有没有人知道我们该怎么做?我在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 }的。

撰写回答