筆記 多執行緒除錯

2021-08-11 09:15:31 字數 459 閱讀 4212

除錯方法:

1、使用debug,檢視記憶體,可以掛起其它執行緒,只執行疑有問題執行緒。

2、使用記憶體記號(memory trials),設定乙個全域性快取區,給每乙個追蹤點加1個記號,並記錄在快取區。

3、使用log,記錄執行緒的執**況。不過輸出的log多半與執行緒的實際執**況不一致,可以做為參考。

4、intel cpu 可以使用除錯暫存器。

5、其它還有加一些dos視窗列印,加assert、trace到debug視窗等。

需注意的地方:

debug、memory trials、log這些都會對多執行緒程式的執行有很大影響,有時間成本。

多執行緒程式的除錯需要乙個穩定的執行環境。

每次只對乙個地方做測試。

要注意記下曾經的操作,以便還原回去,不能盲目的執行。

在最終解決了問題後,要知道問題是如何被解決的,要有乙個確切的結果,知道相關的**、出錯原因。

多執行緒除錯)

軟體除錯是我們軟體開發過程中的重要一課。在前面,我們也討論過程式除錯,比如說這裡。今天,我們還可以就軟體除錯多講一些內容。比如說條件斷點,資料斷點,多執行緒斷點等等。cpp view plain copy include intvalue 0 void test intmain 1 資料斷點 所謂資...

linux gdb 除錯多執行緒 單獨除錯執行緒

linux gdb 除錯多執行緒 單獨除錯執行緒 2011年01月26日 星期三 下午 06 10 一 多執行緒除錯 多執行緒除錯可能是問得最多的。其實,重要就是下面幾個命令 info thread 檢視當前程序的執行緒。thread 切換除錯的執行緒為指定id的執行緒。break file.c 1...

多執行緒程式設計 多執行緒gdb除錯

學習多執行緒程式設計怎麼能夠不會多執行緒 gdb 除錯呢?這一講主要學習多執行緒的 gdb 除錯。首先列出我們經常會使用到的指令 1 info threads 顯示當前可除錯的所有執行緒,每個執行緒會有乙個gdb為其分配的id,後面操作執行緒的時候會用到這個id。前面有 的是當前除錯的線 程。2 t...