没有可用于当前位置的源代码

来源:互联网 发布:iphone7 手机壳 知乎 编辑:程序博客网 时间:2024/04/27 23:53

调试时候蹦出一个对话框“没有可用于当前位置的源代码” 确定,或 显示汇编,调试无法进入一个函数,之后这函数就完了,死活不被调用了。

 

产生原因不明~~

以下是微软官方的解释:

没有可用于当前位置的源代码

项目不包含您试图查看代码的源代码。原因通常是双击了“调用堆栈”窗口或“线程”窗口中没有源代码的模块。可以继续调试,但不能使用源代码窗口设置断点并在此位置执行其他操作。如果需要设置断点,请使用“反汇编”窗口。

另一可能原因是:试图调试托管代码的转储文件。Visual Studio 仅支持使用 SOS 工具,在“即时”窗口中对托管的小型转储进行调试。有关信息,请参见如何:使用 SOSSOS 调试扩展 (SOS.dll)

在解决方案属性页中,可以更改调试器查找源文件的目录,并通知调试器忽略选定的源文件。请参见 “解决方案属性页”对话框 ->“通用属性”->“调试源文件”

自动显示反汇编

禁用该对话框并在无源代码可用时自动启动“反汇编”窗口。

显示反汇编

启动“反汇编”窗口,但不禁用此对话框。

 

该属性页指定调试解决方案时调试器查找源文件的位置。

若要访问“调试源文件”属性页,右键单击“解决方案资源管理器”中的“解决方案”,并从快捷菜单中选择“属性”。展开“通用属性”文件夹并单击“调试源文件”页。

包含源代码的目录

包含调试器在调试解决方案时搜索源文件的目录列表。

不查找下面这些源文件

输入不希望调试器读取的任何文件的名称。如果调试器在以上指定的某个目录中找到这些文件之一,它将忽略该文件。如果在调试期间出现“查找源”对话框,这时您单击“取消”,那么,您搜索的文件将被添加到此列表中,以使调试器不再继续搜索该文件。

 

照着上面的方法试了下 仍然不管用,查找了一些其他的解决方法:

 

1. 工具->选项->调试->常规->去掉“要求源文件与原始版本完全匹配”复选框就OK

2. (严重不推荐!)将这个函数重新换个名字!

3. (严重不推荐!)将这个函数注释了,然后再在旁边重新写一个,代码一样。

 

好吧改个函数名确实好用了,然后我尝试把项目的debug文件删掉,然后把函数名改回来,居然好用了~~

 

原创粉丝点击