Visual studio 2010 怎样才能避开窗户;“无可用来源”;在VS2010 SL5上进入调试模式时

Visual studio 2010 怎样才能避开窗户;“无可用来源”;在VS2010 SL5上进入调试模式时,visual-studio-2010,debugging,Visual Studio 2010,Debugging,如何避免在VS2010 SL5上进入调试模式时出现“无可用源”窗口 在工具、选项、调试、常规页面中。检查是否启用了“启用.NET Framework源代码单步执行”,如果启用,请禁用。您可以按Shift+F11单步执行,它将完成任何不可用的功能,并在下一行停止(它可能也不可用,但继续使用单步执行,直到找到要检查的代码为止。)此问题有一个扩展: 但根据我自己的经验,在找到这篇文章之前(我在第页,但我试图在没有阅读文章的情况下自己修复它),我已经修复了这个问题,只需接受一条确认消息,比如“选定的源

如何避免在VS2010 SL5上进入调试模式时出现“无可用源”窗口
在工具、选项、调试、常规页面中。检查是否启用了“启用.NET Framework源代码单步执行”,如果启用,请禁用。

您可以按Shift+F11单步执行,它将完成任何不可用的功能,并在下一行停止(它可能也不可用,但继续使用
单步执行
,直到找到要检查的代码为止。)

此问题有一个扩展:


但根据我自己的经验,在找到这篇文章之前(我在第页,但我试图在没有阅读文章的情况下自己修复它),我已经修复了这个问题,只需接受一条确认消息,比如“选定的源文件与编译的程序集不同。是否确实要使用此文件进行调试?”。但是我不记得我到底做了什么来得到这个信息。我想有一个链接标签,我点击了“无可用源”窗口,然后出现了确认消息,确认后问题消失了。

我尝试了所有建议的修复;对我来说什么都不管用。 经过几个小时的反复试验,我终于找到了解决方案

事实证明,“无可用源”错误是由于VS调试器环境中的堆栈溢出造成的

应该由VS debugger执行的C/C++代码函数使用了一个初始化为几MB大小的堆栈数组的变量。当我将其替换为堆分配时,VS成功地进入了代码

这对我有用

请注意,在我的例子中,实际代码(带有堆栈分配)在调试器中运行时没有出现堆栈溢出错误(如果我跳过无源可用错误)。只是由于内部堆栈溢出,VS的调试器无法进入另一个C/CPP文件中的特定函数


希望这能有所帮助。

关于VS2019,请参阅。
对于必需的vcruntime和ucrt源文件,从以前的VS版本导入后可能会出现问题,该版本已被卸载。
要防止VS使用旧目录,请找到解决方案属性页并导航到“调试源文件”对话框。 单击勾选按钮检查可删除任何无效条目的条目。 vcruntime和ucrt源应始终存在于目录中,并且“浏览以查找源代码”对话框顶部的路径应始终显示正确的路径。

在我的例子中,由于一位尊敬的人,它被给予提示“D”驱动器而不是“C”驱动器。此外,无法粘贴提供的路径以刷新视图,因此,如果没有更明智的选择,则必须使用对话框从桌面或同等位置导航到所需位置。

Casey。这正是我希望避免的…(需要跳过此窗口)。或者只需在调用模块的下一行插入断点并点击F5。谢谢,我启用了。在同一个列表中,在“启用地址级调试”下有一个框“如果源代码不可用,则显示反汇编”(取消选中),但谁知道它们会做什么…因为没有选中,所以我认为thtat窗口不应该显示此选项的任何提示。在同一个列表中,有一个选项名为“仅启用我的代码(仅受管理)”。这个选项应该被选中。谢谢你帮我解决了这个问题。然后再回到调试阶段。