linux的基礎知識 多執行緒gdb除錯

2021-10-10 17:23:45 字數 940 閱讀 8779

1.gdb除錯

\qquad

gdb除錯命令,在生成可執行檔案時,加-g

gcc ***.c -o *** -g
\qquad

執行gdb ***,就可以跳轉到gdb除錯介面,對***進行除錯。

\qquad

首先,我們要檢視***.c的內容,以確定在**打斷點。檢視***.c檔案的命令:

\qquad

接下來進行打斷點

b 行數  #在制定的行打斷
\qquad

檢視斷點序號和取消斷點操作

i b
d 斷點序號
\qquad

在打好斷點之後,我們就可以進行正式除錯

start #開始除錯
n #單步除錯
p 變數名  #檢視對應的變數值
ptype 變數名   #檢視對應的變數型別
display 變數   #追蹤對應的變數值,並列印
undisplay  變數   #停止追蹤變數值
quit #退出gdb
2.多程序除錯

\qquad

fork()函式可以在程式中,創造子程序。如果我們對程式程序除錯,預設追蹤的是父程序的除錯。當我們需要對子程序進行除錯時,需要在執行fork()前,設定:

set follow-fork-mode child

多執行緒基礎知識

建立乙個序列佇列,該佇列中從方的都是要依次執行的任務,dispatch queue serial 表示序列佇列的標示 dispatch queue t serialqueue dispatch queue create serial dispatch queue serial 建立乙個並行佇列,並行...

多執行緒 基礎知識

1 建立執行緒 extends thread implements runnable 啟動執行緒 threadl類的start 執行緒完成 1 run 方法執行完成 2 丟擲乙個未處理的異常導致執行緒的提前結束 2 執行緒的狀態 新建立 執行緒被建立,但是沒有呼叫start方法 可執行 runnab...

c 基礎知識 多執行緒

執行緒被定義為程式的執行路徑。每個執行緒都定義了乙個獨特的控制流。如果您的應用程式涉及到複雜的和耗時的操作,那麼設定不同的執行緒執行路徑往往是有益的,每個執行緒執行特定的工作。執行緒是輕量級程序。乙個使用執行緒的常見例項是現代作業系統中並行程式設計的實現。使用執行緒節省了 cpu 週期的浪費,同時提...