天天看點

GDB調試

1,使用bt(backtrace )指令檢視目前堆棧

#0:是目前執行的函數(棧幀)(fram)

n是bt指令傳回的數字,辨別出是哪一個frame

down n:表示往棧頂方向下移 n 層 (n 表示一個正整數,預設值為 1)

up n:指令表示往棧底方向上移 n 層 (類似地,up 表示往棧底方向上移 1 層)。

注意:在虛拟記憶體位址空間中,棧是從高往低擴充的

info args:列印出目前函數的參數名稱和值

info locals:列印出目前函數裡是以的局部變量的名字和值

info catch:列印出目前函數中的異常處理資訊 。

6. info threads 

顯示目前可調試的所有線程,每個線程會有一個gdb為其配置設定的id,後面操作線程的時候會用到這個id。 

前面有*的是目前調試的線程。 

thread id 

切換目前調試的線程為指定id的線程