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

4

有没有人知道如何实现这一点? 我在eclipse中编写了python代码,每当它调用c++函数时,我希望断点进入Visual Studio C++项目。


你的两段代码之间有什么联系?你能在Python应用程序中使用Visual Studio调试器吗? - Opera
4
你尝试过从Visual Studio使用“调试->附加到进程”吗? - tzaman
调试->附加到进程可能是正确的方法。 - James
2个回答

4

在 Visual Studio 中,您可以使用 __debugbreak 命令。每次触发此命令时,都会启动调试器 (您可能需要在 MSDN 上搜索此函数)。

将该指令插入到您想要调试的 C++ 函数(或类方法)中,例如:

void foo()
{
  __debugbreak();
  [...]
}

现在,编译库并运行Python脚本,在库加载并执行代码时,会出现一个消息框询问您是否要附加Visual Studio调试器。

它是旧的__asm { int 3 }的替代品。


2
如果 C++ 应用程序作为单独的进程运行,那么就很容易了。您可以自己运行该进程或将 Visual Studio 附加到现有运行的进程并设置断点。
如果 C++ 代码是嵌入式 DLL / LIB,则可以使用 Python 作为调试/启动过程。只要 Python 将 DLL / LIB 加载到您的 Python 代码中,Visual Studio 就会激活您的断点。
另外,您还可以在代码中添加 Windows 调试器启动程序调用。一旦您的代码被执行,您将看到一个对话框询问是否要附加调试器。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接