freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

gdb的基本工作原理(編輯修改稿)

2025-08-11 18:44 本頁面
 

【文章內(nèi)容簡介】 步是指 cpu架構(gòu)不支持指令級單步,需要 gdb用軟件方法來實現(xiàn)指令級單步。 ? 支持硬件單步的架構(gòu)如 x86和 ppc。對于 x86,可通過設(shè)置 EFLAGS寄存器中的 TF標(biāo)志來將 cpu置于單步模式。對于 ppc,則可通過設(shè)置MSR寄存器中的 SE標(biāo)志來將 cpu置于單步模式。在單步模式中, cpu每執(zhí)行一條指令,就會產(chǎn)生一個單步異常,通知 gdb進(jìn)行處理。 gdb指令級單步的實現(xiàn) ( 2) ? 不支持硬件單步的架構(gòu)如 arm和 mips。對于此類架構(gòu), gdb采用的是用臨時的軟件斷點來模擬單步的方法。即在需執(zhí)行指令的下一條指令處臨時插入一個斷點,然后讓目標(biāo)程序繼續(xù)運(yùn)行,它會在執(zhí)行完當(dāng)前指令之后遇到下一條指令處的臨時斷點,于是目標(biāo)程序停止,通知 gdb命中斷點, gdb再將此斷點刪除,由此來完成指令級單步的過程。(插入臨時斷點需要 gdb實現(xiàn)代碼分支預(yù)測的功能) 初 始 狀 態(tài) 在 下 一 條 指 令 插 入 斷 點 繼 續(xù) 運(yùn) 行 命 中 斷 點 刪 除 臨 時 斷 點gdb next命令的實現(xiàn) ( 1) ? next命令實現(xiàn) c代碼級的單步。分析其實現(xiàn)機(jī)制首先需要理解 step range以及 step_range_start和 step_range_end的概念。 ? 執(zhí)行 next命令時, gdb會計算出當(dāng)前停止位置的 c語句的第一條指令的地址作為 step_range_start,然后計算出當(dāng)前停止位置下一行的 c語句的第一條指令的地址作為 step_range_end,隨后控制目標(biāo)程序從當(dāng)前停止位置開始走指令級單步,直至 pc超出 step range為止。 c n t + + 。8 0 4 8 3 e a : m o v 0 x 8 0 4 9 6 c 4 , % e a x8 0 4 8 3 e f : a d d $ 0 x 1 , % e a x8 0 4 8 3 f 2 : m o v % e a x , 0 x 8 0 4 9 6 c 4 c n t + + 。8 0 4 8 3 f 7 : m o v 0 x 8 0 4 9 6 c 4 , % e a x8 0 4 8 3 f c : a d d $ 0 x 1 , % e a x8 0 4 8 3 f f : m o v % e a x , 0 x 8 0 4 9 6 c 4s t e p _ r a n g e _ s t a r ts t e p _ r a n g e _ e n ds t e p r a n g egdb next命令的實現(xiàn) ( 2) ? next命令的結(jié)束條件: pc step_range_start || pc = step_range_end。 ? 之所以不能簡單地判斷 pc是否到達(dá) step_range_end,是因為step_range_end僅僅是 c源代碼意義上的下一行的第一條指令的地址,目標(biāo)程序?qū)嶋H運(yùn)行時未必就會到達(dá)那里。因此, next命令的結(jié)束條件可以理解為只要 pc離開當(dāng)前源代碼行即可。 ? next過程中遇到函數(shù)調(diào)用怎么辦?我們知道, next命令是會跨過函數(shù)調(diào)用的,這個過程是如何實現(xiàn)的呢? gdb next命令的實現(xiàn) ( 3) ? next命令跨越函數(shù)調(diào)用的過程 : 從當(dāng)前停止位置開始走指令級單步; 走到子函數(shù)第一條指令時發(fā)現(xiàn)是函數(shù)調(diào)用,就在函數(shù)返回地址插入一個臨時斷點; 讓目標(biāo)程序繼續(xù)運(yùn)行,通過子函數(shù)體,直至遇到之前插入的臨時斷點; 繼續(xù)走指令級單步,直至滿足 next
點擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1