2

我有一个单独的 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 代码?

4

2 回答 2

2

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

于 2013-05-04T08:59:45.640 回答
0

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

检查您的Solution Property Pages > Debug Source Files. 首先,确保您的文件不在 Do not look for these source files: 中,然后确保在包含源代码的目录中添加源的位置。这应该有助于解决问题。

于 2012-11-14T13:29:35.617 回答