利用VS调试源代码,显示无可用源,如图所示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用VS调试源代码,显示无可用源,如图所示相关的知识,希望对你有一定的参考价值。

VS选项中该设的貌似也都设了,下面调用堆栈中原来灰色的现在也变亮了,但是双击就是看不到源代码,显示无可用源,pdb等符号也下下来了,Form等文件类本地也有,就是不能调试,求大神指点,在线等,解决后继续给加分啊
还有一点,请大家不要复制粘贴网上的啊,不少我都看过了,求真心懂的人

1、首先点击VS的调试菜单按钮后,就能点击图形二级菜单。

2、然后就能在三级菜单中,点击启动图形调试。

3、这时候,还能直接按下快捷键快速启动图形调试。

4、然后点击运行,在运行界面中,既可以看到这样的窗体被运行,

5、因此这时候,就能在这里看到图形调试的报告。通过报告这里,可以看到程序的线程以及内存等内容的详细信息。

参考技术A

你的 堆栈位置是 System.Windows.Forms.Control.OnLocationChanged, 这个方法位于 Control.cs源文件中,你应该缺少这个源文件。

追问

我也知道是在control.cs中,我这也有这源文件,但不是VS它自己下下来的,是我从朋友那里拷到缓存里的,原来缓存文件夹中只有pdb文件,关键是我现在要的是怎么把源代码给调试起来,我想调试跟踪

追答

那你试了浏览查找源文件吗?

最好还是设置让vs自己下载pdb和cs文件,才能确保文件路径正确,pdb和cs代码版本一致

追问

浏览查找源文件是灰色的,点不了,也曾试过很多次改目录让VS自己下载pdb,结果还是都不行

追答

好吧,那应该是你系统或者.net的某个更新把 dll 版本更新了,但是微软显然不会对每个版本都发布的pdb文件,所以导致 dll 和pdb版本不一致,无法查找源文件。

 检查方法如下:

1.查看模块窗口 加载的dll和符号文件(pdb)的路径,注意pdb的Guid

2.使用dumpbin工具查看dll的guid,看与pdb是否一致。(dumpbin在vs的安装目录vc文件夹下),如下图:

3.若不一致,那就可以确定你的问题原因了。至于解决办法嘛,你需要找到和你pdb文件guid一致的dll去引用,去找一个没有安装更新的系统也好,卸载你系统中某个导致dll更新的补丁也好,虽然我自己没有实践过,但是我想应该没问题。如果你调试成功了,请@我下,谢谢

,  

参考技术B 给我源码可否? 参考技术C 溢出了! 随便建一个页面是可以调试的

VS调试提示“无法启动程序,“...exe”。系统找不到指定文件

 

当VS调试提示上图所示的警告时,常用的方法是检查“项目”-“属性”-“配置属性”-“常规”-“输出目录”里的路径

项目”-“属性”-“配置属性”-“链接器”-“常规”-“输出文件”里的路径,是否一致,如图2所示:​​

蛋疼的问题来了,是一致的,那么是什么问题呢?

原来是工程名字与输出文件名不一致,由于很多调试文件是参照工程文件名来的,所以被这个小问题搞了一两个小时,害死人啊。

 

以上是关于利用VS调试源代码,显示无可用源,如图所示的主要内容,如果未能解决你的问题,请参考以下文章

C++ 使用GDAL库遥感影像失败,求解

QT+VS中使用qDebbug()打印调试信息无法显示

如何利用matlab对图像进行处理,效果如图所示

如图,我用的是VS2015,使用SQL查询时,中文结果显示为问号,怎么破

Arduino控制1602,无论如何设定程序,显示的都是如图所示不出字儿,求大神

如何在按钮小部件中显示进度指示器(如图所示)