shell之除錯 分析

2021-07-10 12:43:12 字數 705 閱讀 2779

語句

含義gcc -g

編譯原始碼確保含有-g的引數

(gdb)set args x1 y1

(gdb) r

開始執行程式(run的簡寫)

(gdb) l

列舉除錯的原始碼(list的簡寫)

(gdb) b 16

在**16行設定斷點

(gdb)b main.cpp:12

在main.cpp檔案的12行設定斷點

(gdb)b onrecv

在onrecv函式設定斷點

(gdb)info break

檢視所有的斷點

(gdb)info break 3

檢視第3個斷點

(gdb)n

單行執行,有函式不會進入函式(next簡寫)

(gdb)s

單步執行,有函式會跳入函式(step簡寫)

(gdb)finish

退出函式

(gdb)c

繼續執行(continue簡寫)

(gdb)q

退出除錯(quit簡寫)

(gdb)p a

int a = add(1,2);

如果在上述**附近設定斷點後,檢視a的值(print的簡寫)

strace –o log.txt –p pid

檢視指定程序號的程式對應的系統呼叫的過程

Shell 指令碼除錯

除錯功能是每一門程式語言都應該實現的重要特性,每個系統程式設計師都應該了解bash的除錯選項 1.使用選項 x,啟動shell指令碼的跟蹤除錯功能,將執行的每一條命令和輸出的結果輸出 test.sh檔案 bin bash foriin do echo i done echo script execu...

除錯shell指令碼

遇見莫名其妙的錯誤,先dos2uinux指令碼。echo命令是最有用的除錯指令碼工具之一。一般在可能出現問題的指令碼前後加入echo命令 使用bash命令引數進行除錯 引數 n 不會執行該指令碼,僅查詢指令碼語法是否有問題,並給出錯誤提示。v 在執行指令碼時,先將指令碼的內容輸出到螢幕上然後執行指令...

shell 指令碼除錯

發表於 2016 4 27 0 03 30 1693 人閱讀 分類 shell 除錯功能是每一門程式語言都應該實現的重要特性,每個系統程式設計師都應該了解bash的除錯選項 1.使用選項 x,啟動shell指令碼的跟蹤除錯功能,將執行的每一條命令和輸出的結果輸出 test.sh檔案 bin bash...