日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

windbg工具安装配置及dump抓取

發布時間:2023/12/9 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 windbg工具安装配置及dump抓取 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

安裝與配置windbg

安裝與配置windbg的symbol(符號)

第一步 下載WinDBG,
第二步 雙擊下載的文件安裝windbg.安裝時注意記住安裝到那里了.
第三步 windbg訪問符號需要兩個文件(SYMSRV.DLL 和 SYMSTORE.EXE)所以在環境變量path中將windbg安裝目錄添加進去,這一步是告訴windbg那兩個文件放在什么地方.
第四步 新建一個環境變量_NT_SYMBOL_PATH 值為: SRV*c:\mysymbol*?http://msdl.microsoft.com/download/symbols

還有一種方法新的方法是:設置值為?cache*c:\mysymbol;srv*http://msdl.microsoft.com/download/symbols

這兩個的不同點在于 第一個只能緩存符號服務器形式的符號文件,但是第二種可以緩存遠程共享形式的符號文件。.這一步的意思是說告訴windbg,我的符號文件存放在c:mysymbol中
第五步?重啟計算機,再運行運行windbg 打開一個exe文件或者附加到一個進程里去, 你會看到
Symbol search path is: SRV*c:\mysymbol*?http://msdl.microsoft.com/download/symbols
打開c盤看到有一個新目錄mysymbol,里面有windbg新下載的文件,說明配置成功了.

?

加載sos和clr

問題一:WinDBG分X86和X64兩個版本

  如果你用的是32位的WinDBG,那直接打開就行;你如果用的是64位的版本,那么如果調試64位代碼也直接打開,如果調試x86的代碼,要使用Wow64下的WinDBG.exe。

問題二:確定SOS和CLR的位置和版本

  如果安裝了Visual Studio的機器,可以打開VS的命令行,輸入where sos.dll命令,可以找到sos.dll的全路徑(需要說明的是,找到的不一定是全部的文件)。它的一般位置在C:\Windows\Microsoft.NET\Framework?\version?\SOS.dll。其中Framework?包括Framework和Framework64兩個版本;version?包括v2.0.50727,v3.0,v3.5和v4.0.30319等版本。文件確切路徑的選擇依據要調試程序的版本而定,一般為C:\Windows\Microsoft.NET\Framework\v4.0.30319\SOS.dll,CLR為同一目錄下的CLR.dll文件。

問題三:加載SOS和CLR

  運氣好的話,使用命令.load C:\Windows\Microsoft.NET\Framework\v4.0.30319\SOS.dll可以加載成功。如果失敗,特別是出現The call to LoadLibrary(C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos.dll) failed, Win32 error 0n193這樣的錯誤,請確認加載sos.dll的版本是否正確。

  此外,加載不出錯,并不見得可以直接使用。可以嘗試命令.loadby sos clr。如果命令成功,那么測試環境好了。如果出現了“Unable to find module 'clr'”這樣的錯誤。請鍵入g讓調試程序運行一會兒,停下來的時候再嘗試命令.loadby sos clr,這時一般都會成功。

獲取dump

方法1:任務管理器,生成轉儲文件

win2008 以上版本,在任務管理器中,切換到"進程"選項卡,右鍵點擊想要創建dump文件的進程,然后選擇"Create Dump File(生成轉儲文件)"即可。

方法2:adplus

命令窗口,c:\路徑\adplus -hang -pn w3wp.exe -o c:\dumps

-hang: 表示附加到目標進程,抓取 dump 鏡像,然后解除。對應的參數是 -crash 崩潰模式,該參數會終止目標進程;

-o: 指定 Dump 文件保存路徑

方法2:attach到進程

1) 打開WinDBG并將之Attach 到crash的程序進程

2) 輸入產生dump 文件的命令

WinDBG產生dump 文件的命令是 .dump ,可以選擇不同的參數來生成不同類型的dump文件。

選項(1): /m

命令行示例:.dump /m C:\dumps\myapp.dmp

注解: 缺省選項,生成標準的minidump, 轉儲文件通常較小,便于在網絡上通過郵件或其他方式傳輸。 這種文件的信息量較少,只包含系統信息、加載的模塊(DLL)信息、 進程信息和線程信息。

選項(2): /ma

命令行示例:.dump /ma C:\dumps\myapp.dmp

注解: 帶有盡量多選項的minidump(包括完整的內存內容、句柄、未加載的模塊,等等),文件很大,但如果條件允許(本機調試,局域網環境), 推薦使用這中dump。

選項(3):/mFhutwd

命令行示例:.dump /mFhutwd C:\dumps\myapp.dmp

注解:帶有數據段、非共享的讀/寫內存頁和其他有用的信息的minidump。包含了通過minidump能夠得到的最多的信息。是一種折中方案。

轉載于:https://www.cnblogs.com/Invokerr/p/6839949.html

總結

以上是生活随笔為你收集整理的windbg工具安装配置及dump抓取的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。