无需Windbg | 使用VS 2019调试.NET程序的Crash异常
生活随笔
收集整理的這篇文章主要介紹了
无需Windbg | 使用VS 2019调试.NET程序的Crash异常
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
某臺服務器上的IIS應用程序池,最近經常會自動關閉。
查看服務器上的事件日志,發現在關閉時,w3p.exe拋出了stackoverflow異常。
幸好,Windows自動幫我們抓取了Crash的dump文件:
一般來說,我們會使用windbg來分析dump文件,但是對于這種異常dump,更簡單的方法是使用VS 2019。
分析方法
1.打開dump文件
雙擊memory.hdump,默認應該可以直接打開VS 2019,也可以使用菜單“文件”->“打開”->“文件”,打開dump文件。
在打開的界面中,左側是dump文件的基礎信息,右側是常用操作:
2.設置符號路徑
在進行調試之前,需要先設置調試文件路徑,這樣調試時才能正確顯示調用的模塊方法。
點擊“設置符號路徑”,在符號文件位置加入應用程序對應的.pdb文件路徑:
3.執行調試
點擊“使用僅限托管進行調試”,等待一會,可以看到拋出的未處理的異常:
由于是在本機調試,結果發現在堆棧窗口中還是無法看到方法名,提示定位不到dll。
因此,把服務器上的應用程序dll也復制到符號路徑下,再次調試,就可以正常顯示了。
結論
根據調用堆棧定位到的方法,我們輕松找到了問題原因并解決。
使用VS 2019調試dump,比windbg上手簡單許多,你還不趕快試試!
如果你覺得這篇文章對你有所啟發,請關注我的個人公眾號”My IO“
總結
以上是生活随笔為你收集整理的无需Windbg | 使用VS 2019调试.NET程序的Crash异常的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 体验.NET Core使用IKVM对接J
- 下一篇: 技术分享 | 一条神奇的曲线——贝塞尔曲