偵錯程式的原理

2021-06-16 05:24:58 字數 564 閱讀 6628

偵錯程式和被除錯程式是通過中斷系統來實現的.不過在windows下,這些工作都不需要你來做了.windows封裝了一套完整的除錯介面.

你只要建立乙個偵錯程式,用它開啟(或建立)乙個被除錯程序,然後根據除錯的目標中所包含的除錯資訊找出源**與機器碼之間的對映關係.在你要中斷的地方加 乙個int3指令(並記錄下原來的值),這個指令的**是0xcc,當目標執行到int3時,它就產生了乙個中斷,這時目標程式停止執行,並將它的執行狀 態儲存下來,再由作業系統接管.在windows下,你的偵錯程式就會接收到乙個中斷訊息,並得到目標程式執行的狀態(所有的暫存器),你在偵錯程式中把狀態 中的ip暫存器的值減1,然後把那個位置的int3指令還原成它原來的值,再返回中斷,這時候目標程式就可以繼續執行下去.這樣就實現了乙個 "斷點 ".當然,你也可以在目標進行中斷的時候修改它的記憶體空間或著暫存器,這樣就可以實現動態修改變數的值.

如果你把跟蹤標誌設為1,這時候你的系統就進入跟蹤狀態,每執行一條機器指令就會產生乙個中斷,當進行中斷時,系統會自己儲存當時的執行狀態,然後全速運 行你的中斷**,在windows下,你的偵錯程式同樣會收到相應的訊息,這時你只要對目標做相應的處理就可以實現對目標的跟蹤.

程式偵錯程式原理

偵錯程式原理 偵錯程式是乙個程式,在開發工具中也是呼叫乙個程式,在執行時就是乙個程序,這個程序與普通程序沒有區別,只是這個程序呼叫了核心的一些特殊函式 系統呼叫 來操縱核心資料,這些資料就是被除錯程序的記憶體資料。而對作業系統除錯的偵錯程式則不同,因為沒有作業系統的支援,偵錯程式本身就不再需要呼叫作...

python的偵錯程式 Python 偵錯程式入門

python 生態系統包含豐富的工具和庫,可以讓開發人員更加舒適。例如,我們之前已經介紹了如何使用互動式 shell 增強 python。本文重點介紹另一種可以節省時間並提高 python 技能的工具 python 偵錯程式。python 偵錯程式 python 標準庫提供了乙個名為 pdb 的偵錯...

常見偵錯程式

工欲善其事,必先利其器 在進行軟體除錯或者逆向工程時,我們需要很多輔助工具,其中偵錯程式是最重要的工具之一。根據除錯物件偵錯程式分類為使用者態和核心態。使用者態偵錯程式只能除錯環3 ring3 許可權的應用程式,大多數應用程式均屬於此類程式。核心態偵錯程式能除錯環0 ring0 許可權的應用程式,驅...