除錯的藝術學習筆記 命令記錄

2021-05-23 12:40:17 字數 1340 閱讀 2771

1)單步除錯: n (next), s(step 跟n的區別,s進入到函式內)

2)恢復操作:c(continue) 直到遇到下個斷點

3)臨時斷點: tbreak 有效期,第一次遇到

4)檢查變數:p (printf)

5)監視點:watch 當監視點的值發生變化時停止

6)檢視棧:bt(backtrace) 顯示整個棧的內容。

7)看已經設的斷點: ib(info break)

8)設定斷點:break function, break line_number, break filename:line_number, break filename:function

9)刪除斷點: delete+數值識別符號(從第7點可得到) (不加引數,刪除所有斷點), clear使用跟第8點對應

10)禁用斷點:disable+數值識別符號 (重新啟用 enable)

11)在單步時跳出函式:finish

12)在單步時跳出迴圈:until

13)條件斷點:break break-arg if (condition),例: break main if argc > 1

14)斷點命令列表(到斷點自動執行):

commands breakpoint-number 例子:commands 1

...                             >printf "i = %d", i 

commands                         >end 

enda) 在commands 中加入silent,過濾到其他無用的輸出。

b) 最後乙個commands是continue的話,自動continue。

例:comands 1

> silent

> printf "i = %d", i 

> continue

> end

15)檢視區域性變數:info locals 得到當前棧中所有區域性變數的值列表

16)設定變數:set x=12

17)gdb執行緒命令:

a) info threads(給出當前所有的執行緒資訊)

b) thread 3(切換檢視執行緒)

c) break 88 thread 3(當執行緒3到達源**行88時停止執行)

d) break 88 thread 3 if x == y

18)  您可以以程序id作為第二個引數,以調式乙個正在執行的程序

gdb 程式名 1234

注意點:

1)重新編譯檔案時不要退出gdb,斷點可以儲存著。

2)在除錯時不要開啟優化**的選項,不然經過了優化,設定的斷點的位置跟編譯後的位置相差可能很大。

《軟體測試的藝術》學習記錄

軟體測試的藝術 測試是發現錯誤而執行程式的過程 一.端正自己的態度 測試是為了發現錯誤而執行程式。而不是證明軟體不純在錯誤。黑盒測試 資料驅動測試或輸入 輸出驅動測試 不太可能實現,1.經濟學2.邏輯上 窮舉輸入測試 將可能的輸入條件當測試用。白盒測試 邏輯驅動測試 不太可能實現1.邏輯路徑太多2....

程式設計藝術學習筆記(1)

序言習題 1 通過一系列的替代,將四個變數的值 a,b,c,d 變為 b,c,d,a 用最少的步驟 開門菜,然而還是有很多值得思考的地方。能幫助人理解計算機對於賦值的操作。通過觀察,可以認為這是乙個a i 賦值給a i 1 的操作。最少的步驟,只需要五步即可。需要乙個t來作輔助,t a,a b,b ...

《Oracle程式設計藝術》學習筆記 23 段

段就是占用儲存空間的資料庫物件,占用儲存空間的每乙個物件最後都會儲存在乙個段中,如表 索引 回滾段等。段的型別 1 表段 2 表分割槽段 table partition 或子分割槽段 subpartition 這種段型別用於分割槽,與表段很相似。分割槽表由乙個或多個分割槽段 table partit...