2012-01-15 18 views
3

我試圖使用WinDBG調試一個示例。首先我刪除了「WinDBGSample.pdb」,然後我試圖在main()的入口處設置一個斷點,但是我失敗了。無法在00401000處插入斷點0,Win32錯誤0n299

我不知道我的選擇有什麼問題。如果你知道,請給我一些建議。

錯誤細節:

error message

起始地址的main()

start address

+0

Google「地址空間佈局隨機化」。 – 2012-01-15 16:17:46

回答

1

我相信這是告訴你,00401000是不是一個有效的地址,因此還需要設置一個使用'bu'的未解決的斷點,然後一旦該地址可用,它將設置斷點。

1

使用bp main而不是硬編碼地址。該程序可能被加載到不同的地址。 Hans評論說,ASLR可以改變模塊的起始地址。如果由於某種原因您不能使用PDB文件,請使用lm命令查看模塊的基址,並根據該值計算main的位置。

+0

謝謝約翰。我還有一個問題:當我執行「bp主」時,出現錯誤:「***錯誤:模塊加載完成但符號無法加載WinDBGSample.exe ***錯誤:找不到符號文件。默認導出C:\ Windows \ system32 \ MSVCR100D.dll的符號 - 「(我把符號放在」C:\ Symbols「中,我已經設置了Symbol Path);詛咒,我可以正常執行「g」。 – Jake 2012-01-17 06:57:29

+0

在表單module!函數中使用完全限定的符號名稱,例如WinDBGSample!主 – John 2012-01-17 18:45:39