一些除錯軟體的使用

2021-09-01 06:44:36 字數 1020 閱讀 3525

(1)gdb的使用,別人的帖子寫的不錯,直接貼鏈結吧,有空了自己再重寫。

gdb常用命令  

主要講了常用的gdb命令,對幾個易混和重要的自己記錄一下。

r : 執行程式,直到斷點

s與n的區別:s遇到函式會跳到函式中,繼續在函式中單步,而n則直接呼叫函式,把呼叫函式看成一步。

clear 的行號指示的斷點,delete 的是info breakpoints中的斷點統一編號

until直到迴圈體結束,finish直到函式結束。

字母l,列出10行源**

回車,重複上一次命令

p,列印,可跟表示式, 例如  print  foo(123)  ,以引數123呼叫函式foo 

bt:backtrace(回溯的縮寫)

gdb堆疊跟蹤的方法 

主要講了gdb中的堆疊幀是如何安排的,以及bt,frame,info locals命令的配合使用,在函式呼叫層次很多時,frame不得不用啊,寫得很實用。

linux下core檔案除錯方法  

主要講了在linux下如何配置生成的core檔案,其次是如何呼叫core檔案。

(2)記憶體洩露除錯

裡面寫的記憶體洩露發生方式不錯:(1)常發性(2)偶發性(3)一次性(4)隱式

應用 valgrind 發現 linux 程式的記憶體問題

大致講了一下valgrind的工作原理和幾個簡單例子。

valgrind 使用簡單說明  

基本的valgrind使用和簡單例子

valgrind常用引數:

預設使用memcheck工具

-log-file=將輸出的資訊寫入到filename.pid的檔案裡,pid是執行程式的進行id

-leak-check=no|summary|full 要求對leak給出詳細資訊? [summary]

-leak-resolution=low|med|high how much bt merging in leak check [low]

一些除錯工具的使用

最常用的除錯工具是gdb,在此就不多說了,家庭常備。下面主要介紹一些其他的工具,滿足一些特殊需要的。對於一些工具只是簡單介紹功能,如果感興趣或覺得有用可以查閱相關資料 ctags 作用 為程式中所有函式建立索引,就像書籍總的目錄一樣。在當前目錄建立tags,檔案中每行由函式名,宣告該函式的檔案和乙個...

opensuse的一些軟體使用

opensuese大部分軟體都是直接在 選單 計算機 安裝刪除軟體 裡就可以了,就可以安裝。1 goldendict詞典軟體和命令列詞典 使用官網搜尋,安裝後sudo zypper in espeak安裝espeak軟體後,可以發音。使用官網搜尋sdcv,選擇opensuse 12.1後點選顯示不穩...

gdb除錯的一些技巧

雖然list已經很方便了,但還是不盡人意.如果能夠在執行的同時顯示 就好了,答案是肯定的.使用如下命令啟動gdb gdb tui main或者在啟動gdb後,輸入命令focus或layout linux下,程式出現崩潰都會在可執行檔案的目錄生成core檔案,此時可以使用core檔案檢視崩潰時的呼叫堆...