GDB 多執行緒除錯基本命令

2021-10-23 06:47:47 字數 452 閱讀 8222

多執行緒除錯的基本命令:

顯示當前可除錯的所有執行緒。每個執行緒會有gdb為其分配的id,後面的操作會用到這個id。前面帶』*'號的是當前正在除錯的執行緒。

切換當前除錯的執行緒為指定id的執行緒。

在所有執行緒中相應的行上設定斷點

讓乙個或者多個執行緒執行gdb命令command。

讓所有被除錯執行緒執行gdb命令command。

值得注意的是,在使用step或者continue命令除錯當前被除錯執行緒的時候,其他執行緒也是同時執行的,怎麼只讓被除錯程式執行呢?通過這個命令就可以實現這個需求。

off:不鎖定任何執行緒,也就是所有執行緒都執行,這是預設值。

on:只有當前被除錯程式會執行。

step:在單步的時候,除了next過乙個函式的情況(熟悉情況的人可能知道,這其實是乙個設定斷點然後continue的行為)以外,只有當前執行緒會執行。

檢視當前鎖定執行緒的模式。

GDB 多執行緒除錯基本命令 實現簡介

一直對gdb多執行緒除錯接觸不多,最近因為工作有了一些接觸,簡單作點記錄吧。先介紹一下gdb多執行緒除錯的基本命令。info threads 顯示當前可除錯的所有執行緒,每個執行緒會有乙個gdb為其分配的id,後面操作執行緒的時候會用到這個id。前面有 的是當前除錯的執行緒。thread id 切換...

gdb除錯基本命令

gdb是乙個由gnu開源組織發布的 unix linux作業系統下的 基於命令列的 功能強大的程式除錯工具。對於一名linux下工作的c 程式設計師,gdb是必不可少的工具 對c c 程式的除錯,需要在編譯前就加上 g選項 g g hello.cpp o hello 除錯可執行檔案 gdb prog...

GDB除錯基本命令

一 列檔案清單 list l 列出產生執行檔案的源 的一部分 列出 line1 到 line2 行之間的源 gdb list line1,line2 輸出從上次呼叫list命令開始往後的10行程式 gdb list 輸出第 n 行附近的10行程式 gdb list n 輸出函式function前後的...