Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调试c++;VS2010中的dll,来自python 我在C++中构建了一个DLL,在VS2010下,我从Python项目调用它。_C++_Python_Visual Studio 2010_Debugging_Dll - Fatal编程技术网

调试c++;VS2010中的dll,来自python 我在C++中构建了一个DLL,在VS2010下,我从Python项目调用它。

调试c++;VS2010中的dll,来自python 我在C++中构建了一个DLL,在VS2010下,我从Python项目调用它。,c++,python,visual-studio-2010,debugging,dll,C++,Python,Visual Studio 2010,Debugging,Dll,我在dll中出现了一个错误,我希望能够使用VS工具进行调试,逐步进入解决方案,直到我完成“读取无效内存位置”的任务 调试/单步执行函数没有单步执行dll中的函数代码 我尝试附加调试器(并从命令行/stop运行python代码,在一个原始输入处输入pid,然后附加调试器)。同样的事情发生了。我在python代码中找到了断点,但在dll中没有 我最终发现了我的错误,在我的头多次撞击我的显示器之后,在dll中使用了旧式的跟踪。但是,必须有一种方法能够在VS中调试现有/打开的项目。。。我将再次遇到这种情

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

调试/单步执行函数没有单步执行dll中的函数代码

我尝试附加调试器(并从命令行/stop运行python代码,在一个原始输入处输入pid,然后附加调试器)。同样的事情发生了。我在python代码中找到了断点,但在dll中没有

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


<> >注意:C++ DLL和PDB文件都位于Python文件的同一目录中,它们当然会自动地内置到调试文件夹中,它们也位于一个位于系统路径中的文件夹中。任何可能的调试符号都已启用。我使用的是python 2.7。

如果您希望能够单步进入并调试dll,则需要在bin目录中包含.pdb文件,否则您将无法访问任何调试符号。此.pdb允许visual studio读取.dll文件并单步执行其方法调用。

如果希望能够单步执行并调试dll,则需要将.pdb文件放在bin目录中,否则将无法访问任何调试符号。此.pdb允许visual studio读取.dll文件并进入其方法调用。

bin目录在哪里?我必须在path\foldername\output\Win32\Debug\中手动指定cdll.LoadLibrary的dll路径。这也是我看到.pdb文件的地方。我没有bin目录-python解决方案不会创建任何其他目录。好的,如果pdb文件已经存在,那么它应该在构建项目时加载这些符号。当您运行exe时,您可以将调试器附加到此进程,当您点击代码的该部分(在第一个使用dll的方法上放置断点)时,调试器应该进入文件,但它没有——这就是为什么我如此困惑的原因。顺便说一句,我从python程序(不是exe)调用了dll。您是否尝试从外部启动该程序,然后将调试器附加到进程?对于dll的,这通常是你必须做的,让他们拿起。是的,我试过-见我的文章第3段。这就是其他人(不是来自论坛)的建议。没用。垃圾箱目录在哪里?我必须在path\foldername\output\Win32\Debug\中手动指定cdll.LoadLibrary的dll路径。这也是我看到.pdb文件的地方。我没有bin目录-python解决方案不会创建任何其他目录。好的,如果pdb文件已经存在,那么它应该在构建项目时加载这些符号。当您运行exe时,您可以将调试器附加到此进程,当您点击代码的该部分(在第一个使用dll的方法上放置断点)时,调试器应该进入文件,但它没有——这就是为什么我如此困惑的原因。顺便说一句,我从python程序(不是exe)调用了dll。您是否尝试从外部启动该程序,然后将调试器附加到进程?对于dll的,这通常是你必须做的,让他们拿起。是的,我试过-见我的文章第3段。这就是其他人(不是来自论坛)的建议。它不起作用。