在Visual Studio 2012中调试C DLL文件时无法进入代码

时间:2012-11-14 13:04:55

标签: c++ c visual-studio dll visual-studio-debugging

我有一个单独的Visual Studio 解决方案,其中包含用C语言编写的DLL。我在另一个解决方案中使用它;在控制台C ++项目中。在调试控制台项目时,我会进入DLL函数。

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

2 个答案:

答案 0 :(得分:1)

我有同样的问题,以下解决了我的问题。我在主项目的属性页面上将“Debugger Type”设置为“Mixed”。我的主要项目是托管代码,而.dll是原生代。

答案 1 :(得分:0)

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

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