从python调试VS2010中的c++dll

debugging a c++ dll in VS2010, from python

本文关键字:中的 c++dll VS2010 调试 python      更新时间:2023-10-16

我在VS2010下用c++构建了一个dll,我从python项目中调用它。

我在dll中出现了一个错误,我希望能够使用VS工具进行调试,进入解决方案,直到我完成"读取无效内存位置"的任务。

调试/进入函数没有进入dll中的函数代码。

我尝试附加调试器(并从命令行/stop在raw_input处运行python代码,该raw_input为我提供了pid,然后附加调试器)。同样的事情也发生了。我在python代码中找到了断点,但在dll中没有。

我最终发现了我的错误,在我的头撞到了我的监视器上之后,在dll中使用了老式的跟踪。但是必须有一种方法能够在VS中调试现有的/打开的项目……我将再次遇到这种情况,所以我希望现在能学到一些东西,避免将来损坏我的监视器。:)

注意:c++dll和pdb文件都与python文件位于同一目录中,它们当然会自动内置到Debug文件夹中,而且它们也位于系统路径中的一个文件夹中。将启用任何可能的调试符号。我使用的是python 2.7。

如果您想进入并调试dll,您需要在bin目录中有.pdb文件,否则您将无法访问任何调试符号。这个.pdb允许visualstudio读取.dll文件并进入其方法调用。