請有人可以指導我爲什麼gdb需要一個RAM和目標ROM的調試內存映射。爲什麼gdb需要內存映射的ram和ROM的目標調試
如果我們在gdb中啓用詳細的控制檯,那麼我們可以看到一些清晰顯示的痕跡: 以及ROM。
該內存是用於代碼放置還是用於其他目的.....請澄清我。
謝謝。
請有人可以指導我爲什麼gdb需要一個RAM和目標ROM的調試內存映射。爲什麼gdb需要內存映射的ram和ROM的目標調試
如果我們在gdb中啓用詳細的控制檯,那麼我們可以看到一些清晰顯示的痕跡: 以及ROM。
該內存是用於代碼放置還是用於其他目的.....請澄清我。
謝謝。
如果您正在討論使用gdb的mem命令定義的內存映射,那是因爲gdb需要知道如何處理內存。
默認情況下,它假定它可以寫入所有內存並緩存所有內存。
這對於不同的原因很重要,一種最常見的情況是用戶試圖設置斷點。默認情況下使用「軟件」斷點,這需要gdb用特殊斷點指令在設置斷點的地址處替換原始指令。如果內存是隻讀的,那麼它不能這樣做,並且必須使用硬件斷點,這些斷點在數量上有限,甚至可能不可用。定義了內存區域後,用戶不必手動手動選擇最合適的斷點指令(break/hbreak),因爲gdb會自動在只讀區域中使用硬件斷點。
?? ............... – sbunny 2014-09-04 06:49:39