我有一个单独的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代码?
答案 0 :(得分:1)
我有同样的问题,以下解决了我的问题。我在主项目的属性页面上将“Debugger Type”设置为“Mixed”。我的主要项目是托管代码,而.dll是原生代。
答案 1 :(得分:0)
当处理外部项目时,Visual Studio会询问您是否有代码。如果取消该过程,请求的文件将添加到解决方案中的列表中,并记住不再要求该文件。
检查Solution Property Pages > Debug Source Files
。首先,请确保您的文件不在不要查找这些源文件,然后确保在包含源代码的目录中添加源的位置。这应该有助于解决问题。