GDB使用隨筆及理論知識

2021-10-08 10:25:53 字數 1474 閱讀 9496

gdb 顯示的是將要執行的**行。

gdb 的工作針對的是機器指令,而不是源**行,一行**可能對應與數行及其語言;gdb 之所以可以使用源**行,是因為可執行檔案包含了額外的資訊。

暫停機制

首先使用 n 指令,當程式不如期執行時,再使用 s 指令進入函式除錯。

使用 bfu

ncti

onna

me

b \ function name

bfunct

ionn

ame 可以再修改**後,保留斷點。

在不退出gdb的情況下,修改**,重新編譯;可以保留除錯的斷點資訊。

watch foo                    stop when foo is modified

watch -l foo watch location

rwatch foo stop when foo is read

watch foo thread 3 stop when thead 3 modifies foo

watch foo if stop when foo is > 10

快捷鍵

ctrl-x-a :          toggle to/form tui mode

ctrl-l : refresh the screen

ctrl-p/ctrl-n : prev,next,commands

ctrl-x-2 : second window;cycle through

pt:檢視變數的真實型別,不受typedef的影響

up/down:在函式呼叫棧裡面上下移動

fin:直接運到函式結束

wh:啟動:視覺化除錯,ctrl+x+a 退出視覺化除錯

多程序

除錯父程序

set follow-fork-mode parent #預設
除錯子程序

set follow-fork-mode child
設定除錯模式

set detach-on-fork [on|off] #預設是on
on:除錯當前程序,其他程序繼續執行。

off:除錯當前程序,其他程序被gdb掛起。

檢視除錯的程序

info inferiors
切換當前除錯的程序

inferior
g++ -m32 #編譯生成32位機器程式

web services理論知識

web服務作為一種能夠快速整合應用的技術,如果與非同步傳輸進行組合,就將為構建企業級應用提供所需的可靠性。在本文中,我們嘗試用兩種設計方法來部署和訪問非同步web服務 通過使用 apache axis 在第一種方法中,用websphere mq support pac ma0r來提供mq傳輸 利用w...

理論知識總結

軟體定義 程式 資料結構 文件。軟體危機 落後的軟體生產方式無法滿足迅速增長的計算機軟體要求,從而導 致軟體開發與維護過程中出現的問題。軟體工程 方法 工具 過程。軟體生命週期模型 瀑布模型,v模型,迭代模型。軟體測試是對軟體需求分析 設計 編碼的最終複查的一系列過程,是軟體質量保證的關鍵步驟 目的...

天線理論知識

zigbee 1為乙個預估的exel ti提供的基於friis等式和二維反射平面模型計算的,通過理論計算可得到傳輸的理論距離。影響通訊距離有如下主要的指標 頻段選擇 選擇的通訊頻段越高,通訊距離越短。頻段越低天線越難設計。發射功率 發射功率越大,通訊距離越遠,與此同時,板子的功耗也越高,正常情況下,...