一、**視窗混亂
以前在用gdb除錯的時候,一般用在gdb裡面打"-"在上方視窗顯示原始碼,而不是用list顯示。但是總遇到個問題,原始碼視窗裡老是出現重疊混亂。也上網搜過,但是一直沒找到好辦法。這個問題使得我感覺gdb除錯效率低,改用codelite。現在公司裡程式設計是在字元介面redhat開發機上。必須要用gdb除錯了。今天在網上搜到了解決辦法:gdb裡面在視窗列出原始碼用layout src, 如果視窗混亂了,可以用refresh src重新整理。另外還有很多layout 命令。參考資料:
二、當斷點很多,怎麼儲存斷點,以備下次除錯,以免每次重複輸入命令
工作中有個伺服器程式,除錯時要打很多斷點。每次除錯時都重新打斷點很麻煩。有個辦法可以簡化。把gdb命令都寫到乙個檔案裡去,每次除錯時就在shell裡輸入:
gdb -command debug.cmd ./program
然後程式就會自動在第乙個斷點處停下。比如我在debug.cmd裡寫:
b file1.cpp : 10
b file2.cpp : 100
b file3.cpp : 150
runlayout src
三、cscope不能自動掃瞄cpp檔案
剛剛用cscope看**,在vim裡面用cs find c name,發些沒有匹配。不可能啊,那個函式被好動地方呼叫了的。google了一下,原來cscope在生成索引的時候預設只掃瞄.h .c .l等,不會去掃瞄cpp檔案。手冊裡面有個辦法:
這樣就可以順利處理cpp檔案了。不知道為什麼cscope不把cpp加到自動掃瞄列表裡去。還得做這個處理,麻煩。
gdb 除錯 vs除錯
一 先要生成二進位制檔案 g g 1.cpp o 1.out g引數不要省,不然 gdb l 引數用不了 二 引數 設定斷點 設定 函式斷點break func 在某行設定斷點break 7 檢視斷點資訊 info break 刪除斷點 d 刪除所有斷點 d 3 刪除第三個 執行 r 下一步 n 逐...
GDB除錯命令以及GDB除錯段錯誤
一 gdb的除錯命令。c語言是 cc g tst.c o tst c 是g g o 生成的檔案 file.cpp c 除錯程式命令 gdb file 啟動,羅列 行數ist 1,break 行數 info break,run r 除錯執行,step s 單步除錯,檢視變數 print p 變數名,檢...
gdb除錯命令
一 gdb常用命令簡介 rrun 執行.程式還沒有執行前使用 c cuntinue 執行到下一斷點處 qquit 退出tab tab命令補全功能 h help幫助s step 跟入函式 nnext 執行下一行的 如果是函式呼叫,也當作一行 執行到此函式返回 b breakpoint 設定斷點,用法 ...