windbg Adplus,抓取dump的方便工具

來源:互聯網
上載者:User

2.3.2  Adplus,抓取dump的方便工具

前面提到了dump檔案能儲存進程狀態,方便分析。由於dump檔案記錄的是進程某一時刻的具體資訊,所以儲存dump的時機非常重要。比如程式崩潰,dump應該選在引發崩潰的指令執行時(也就是1st chance exception發生的時候)擷取,這樣分析dump的時候就能夠看到問題的直接原因。

Adplus是跟Windbg在同一個目錄的VBS指令碼。Adplus主要是用來抓取dump檔案。 詳細的資訊,可以參考Windbg協助檔案中關於adplus的協助。有下面一些常見用法:

假設我們的目標程式是test.exe:

假設test.exe運行一段時間崩潰,在test.exe啟動後崩潰前的這個時間段,運行下面的命令監視:

 Adplus –crash –pn test.exe –o C:/dumps

當test.exe發生2nd chance exception崩潰的時候,adplus在C:/dumps產生full dump檔案。當發生1st chance AV exception, 或者1st chance breakpoint exception的時候,adplus在C:/dumps產生mini dump檔案。

也可以用:

 Adplus –crash –pn test.exe –fullonfirst –o C:/dumps

差別在於,加上-fullonfirst參數後,無論是1st chance exception還是2nd chance exception,都會產生full dump檔案。
假如test.exe發生deadlock,或者memory leak,並不是crash,需要擷取任意時刻的一個dump,可以用下面的命令:

 Adplus –hang –pn test.exe –o C:/dumps

該命令立刻把test.exe的full dump 抓到C:/dumps下。

Adplus更靈活的方法就是用-c參數帶設定檔。在設定檔裡面,可以選擇exception發生的時間,產生的dump是mini dump還是full dump,還可以設定斷點等等。對於adplus各項參數的選用原則,在最後一章還會作進一步介紹。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.