CrashMe分析教程1 BreakPoint

2022-05-22 15:51:15 字數 1129 閱讀 9276

系統: windows 7 x64

我們開始吧!

1. 雙擊開啟執行crashme.exe, 然後點選按鈕"breakpoint", 我們將會看到這樣的畫面

在把注意力放到dump分析上之前,我們可以像這樣收集故障排除工作所需的資訊資源。

現在我們開始抓dump來分析問題的根本原因。

adplus -crash -o g:\freezone\msdn\debug\crashme\release -sc crashme.exe

[你也可以直接用windbg載入並執行此程式,然後直接抓dump, 或者當程序崩潰時也可以使用x86的任務管理器去轉儲記憶體資訊。]

請不要著急開啟windbg, 注意看adplus的輸出,它已經自動分析出了一些有用的資訊:

adplus_log_23b4_2012-06-19_21-11-37-882.log

我們可以發現這個呼叫棧告訴我們了根本問題時出在crashme!ccrashmedlg::onbnclicked_executebreakpoint方法呼叫了kernelbase!debugbreak api才使用程序崩掉。

現在我們來啟動windbg(x86)載入分析dmp:

我們需要將我們的私有除錯符號檔案的路徑配置到windbg裡,或者配置到系統的環境變數中。

有時,你會發現類似於除錯目標沒有連線上的資訊在windbg底部,不用擔心它,它那是正在載入你的dump檔案內容,等一會就好了。

我們可以看到這裡給出了與adplus log同樣的分析結果。

接下來我們嘗試下!analyze -v命令:

如果你發現crashme.exe的方法名不能顯示在windbg下,嘗試下重新載入符號檔案命令: ld * or .reload /f

它給出了同樣於adplus log的呼叫棧描述資訊。

當我們成功配置好符號檔案時,它還可以告訴我們問題出在哪一行源**上面。然後我們就可以開啟源**檔案在windbg提示的位置進行檢查並修改。

現在看來第一次「crash」不需要太多的研究了,問題的原因已經很明顯出來了。

看雪帖子連線: 

翻譯自我的英文部落格: 2012/06/crashme-analysis-tutorial-1-breakpoint.html

1 B 樹的查詢

1 b 樹的查詢方法 在b 樹中查詢給定關鍵字的方法類似於二叉排序樹上的查詢。不同的是在每個結點上確定向下查詢的路徑不一定是二路而是keynum 1路的。對結點內的存放有序關鍵字序列的向量key l.keynum 用順序查詢或折半查詢方法查詢。若在某結點內找到待查的關鍵字k,則返回該結點的位址及k在...

紅黑樹(1) B 樹

本文將帶你了解紅黑樹插入和刪除節點的處理過程,在這之前你應該對紅黑樹或bst有一些了解 r b tree,全稱是red black tree,又稱為 紅黑樹 它一種特殊的二叉查詢樹。紅黑樹的每個節點上都有儲存位表示節點的顏色,可以是紅 red 或黑 black 1 根節點是黑色。2 每個外部節點 n...

新生練習賽1 B

acm的學長最近在henu附近supermarket打工。一天之中,他的工作時間是l分鐘。這位學長記性非常好,他已經記住了n位老客戶,其中第i位顧客是在一天開始工作後的ti分鐘到來,並且服務這位顧客需要花費li分鐘。此外當學長為另一位客戶提供服務時,保證不會有任何客戶到達。然鵝,學長想要想要在忙碌中...