使用Visual Studio 分析转储文件(dump文件)

1.打开windows任务管理器,找到崩溃的进程,右键=》创建转储文件

2.打开vs。文件=》打开=》文件。打开你刚才导出的文件:

上面的图是打开后的界面,有比较基础的信息统计。我们可以看到进程框架那一项,是64位转储,如果用64位转储,那么你的调试器就必须是64位的。点击使用仅限托管进行调试,就可以像debug那样,调试dmp文件了。这个时候你可能会遇到第一个问题:

这个是因为程序运行的.net环境和vs所在的环境版本不一致造成的,会提示找不到mscordbi.dll这个版本的文件,我不知道是我没有设置好,还是vs在这一块确实有bug,设置符号路径并没有用处,按照这个提示操作,也没有任何用处,查看官方文档,也找不到有用发的信息,网上的信息相当少。这里我提供一下我的解决方案。

2.1打开程序运行电脑的这个路径:C:\Windows\Microsoft.NET,这里包含了.net的运行库,比如我这台测试电脑的:

一个是64位的,一个是32位的,有些人可能只有一个文件夹,没有64位那个文件夹,这个并不影响,有的话就去对应的位数文件夹下去找,没有,就在唯一的那个文件夹下找就行了。打开这个文件,里面就包含我们需要的mscordbi版本:

2.2把红框的整个文件夹拷贝出来,放到你的调试电脑里面,把刚才的dmp文件放到这里文件夹里面。再用vs打开dmp文件,应该就不会再提示找不到mscordbi了。如果32位的不行就试试64位的。

3.解决掉找不到mscordbi.dll的问题后,再点击使用仅限托管进行调试,这个时候你可能会遇到第二个问题,就是找不到.pdb调试文件:

这个调试文件,必须和你打包的那个一致,如果你的程序中途修改过,重新生了pdb文件,那么你新打包的.pdb文件是不可用的,这里的解决办法是,把你之前拷贝到测试机上的pdb文件拷贝出来到你的本地电脑里,然后点击设置符号路径:

点击添加,把刚才拷贝的pdb的路径放进去:

然后就可以 进行分析了--下一篇讲解如何分析

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值