在 Visual Studio 2012 中调试 C DLL 文件时无法单步执行代码



我有一个单独的Visual Studio解决方案,其中DLL是用C编写的。我在另一个解决方案中使用它;在控制台C++项目中。调试控制台项目时,我单步执行 DLL 函数。

但是,将打开该页面,报告There is no source code available for the current location具有调用堆栈位置MyConsole.exe!_tailMerge_MyLibrary_dll()。我在控制台项目中使用 DLL 文件的延迟加载。显示无源代码页时,我检查输出窗口并找到加载的 DLL 行的符号。为什么Visual Studio 2012无法单步执行此DLL代码?

我遇到了同样的问题,以下解决了我的问题。我在主项目的属性页上将"调试器类型"设置为"混合"。我的主要项目是托管代码,而.dll是本机的。

在处理外部项目时,Visual Studio会询问您是否有代码。 如果取消该过程,请求的文件将添加到解决方案的列表中,并且它会记住不再请求该文件。

检查您的Solution Property Pages > Debug Source Files。首先,确保您的文件不在"不要查找这些源文件"中:然后确保在包含源代码的目录中添加源的位置。这应该有助于解决问题。

相关内容

最新更新