VS调试错误:“没有可用于当前位置的源代码”的解决方案
今天,有朋友在问为什么我在调试的时候会出现"没有可用于当前位置的源代码"的错误呢?
MSDN上的说法:
没有可用于当前位置的源代码,项目不包含您试图查看代码的源代码。原因通常是双击了“调用堆栈”窗口或“线程”窗口中没有源代码的模块。可以继续调试,但不能使用源代码窗口设置断点并在此位置执行其他操作。如果需要设置断点,请使用“反汇编”窗口。
编辑经验,出现该错误就有可能是下面中的一种,读者可以一一试试:
1. 在项目中引用另一个项目,而修改了被引用项目的代码后,引用的dll没有更新,所以出现上述错误。
2. 试图调试托管代码的转储文件。Visual Studio 仅支持使用 SOS 工具,在“即时”窗口中对托管的小型转储进行调试。
3. 在解决方案属性页中,可以更改调试器查找源文件的目录,并通知调试器忽略选定的源文件。请检查"解决方案属性页"对话框中的- >"通用属性"- >"调试源文件"- >"不查找这些源文件",看你要调试的源文件是不是在该列表中,如果在,请删除后确定。
4. 在工具- >选项- >调试中禁用源代码不可用时显示反汇编。
5. 由于代码的上下文件限制了要调试的源代码的加载(特别是在调试JavaScript代码时出现该错误时此种可能性最大)。
6. 你要调试的源文件处在一个封装好的dll文件中,所以按F11是跟不进去的。
7. 如果你有备份文件,试试你的备份文件。
8. 重写你要调试的源代码。(当然不推荐这种方法了,不过这也是最后没有办法的办法。)