Top/Prog/debug/gdb

目次

起動オプション

sectionoptiondescriptionremark
Select Files<file>
--exec=<file>
実行形式ファイルとして <file> を指定
-c <file>
--core=<file>
core ファイルとして <file> を指定
--se=<file>シンボルファイル及び実行形式ファイルとして <file> を指定
--symbols=<file>シンボルフィルとして <file> を指定
Output and user interface control--tuiTerminal が User Interface であるものとして扱う。ターミナルの画面を上下2分割し、上半分にソースコード、下半分に通常の gdb の入出力画面が表示される
-wGUI を使用する
Operating modes--configurationgdb の設定内容の詳細を表示して終了する
other--cd=<dir>Currente Directory を <dir> にする
remote debugging options-b <BAUDRATE>serial port の baud rate を指定
-l <TIMEOUT>リモードでバッグにおけるタイムアウトを <TIMEOUT>[sec] に設定する
batch-batchバッチ処理モードで起動。
batch-x <command-file>バッチ処理モードで実行する gdb のコマンドファイルを指定する。

core file から bcaktrace を見る

実行形式からデバッグシンボルが分離されている場合

debug 実行

コマンド

break point の保存・読み出し

無反応になったプログラムの状態を調べる

  1. 現在の状態を調べるため、現在の状態を core に吐かせて終了させる
    $ kill -ABRT <PID>
    または
    $ kill -6 <PID>
  2. 出力された core を解析すると、上記 kill でシグナルを送られたときの状態を確認できる。

マルチスレッドプログラムの解析

batch 処理

使い方

  1. コマンドを記述したテキストファイルを用意する
    • $ vi command.gdb
      info thread
      thread 2
      info locals
  2. core を解析する
    $ gdb ${PROGRAM_FILE} -c core -batch -x <command-file>
  3. 結果が出力される
    • このとき、<command-file> に記述された途中のコマンドでエラーになった場合、それに続くコマンドは実行されることなく、gdb は処理を終了する。

フロントエンド

ddd

xxgdb

eclipse

core file


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-12-30 (金) 00:18:24