在Visual Studio中调试Python和C ++

问题描述

我希望能够逐步执行Python脚本使用的dll一部分的C ++代码

我查看了https://docs.microsoft.com/en-us/visualstudio/python/debugging-mixed-mode-c-cpp-python-in-visual-studio?view=vs-2019,并认为我已经正确实现了。但是,无论何时启用启用本机代码调试,Python中的断点都不再起作用,并且它指出在代码中找不到符号。

我去了Visual Studio Python安装并选择了 Python本机开发工具

Visual Studio installation

Python符号已经安装并且存在于活动环境中:

python symbols

在“调试”选项卡上,我尝试将解释器路径设置为python_d.exe,并在“符号”选项卡上的“调试”>“选项”中,选择了相关的符号:

Debug>Options(Symbols)

我尝试在上图中选择多个选项,但没有成功。

我怀疑我在做错事情很简单,有什么想法吗?谢谢!

解决方法

我遇到了同样的问题,但没有找到解决方案。

如果您需要解决方法,请尝试将您的本机代码附加到 python.exe 进程:

  1. 开始调试你的 python 脚本(没有本地支持)并等待某个断点
  2. 在另一个 VisualStudio 实例中启动您的本机项目,设置所需的断点,然后转到调试 -> 附加到进程,选择已启动的 python.exe 进程(您可以通过 PID 找到它)
  3. 继续执行 python。

它对我有用。请注意,您还需要使用调试符号编译本机代码。

愉快的错误狩猎! =)