新石器Wiki

近年はシリコン(石)から進化した便利なもので溢れる時代。そんな気になった事や試した事など記す。

ユーザ用ツール

サイト用ツール


devtool:toolchain:gdb:gdb-basic-command


【GDB】基本コマンド

OpenOCDは、GDBにとってGDBサーバの役割を果たす。ポート3333を使うので、接続するには下記コマンド。

(gdb) target remote localhost:3333

よく使うコマンド

ソース・ファイルの選択とロード

コマンド 内容
file filename 現在表示しているソースファイルとは別のソースファイルfilenameを選択
load 選択したオブジェクトファイルをターゲットにロードする(対応していればフラッシュROMにも書き込む)

ブレーク・ポイントの設定や解除

コマンド 内容
break ファイル名と関数名,行番号などでブレーク・ポイントの設定を行う
clear / delete ブレーク・ポイントの解除を行う
disable / enable ブレーク・ポイントの無効化,有効化を行う
display プログラムが停止した時に自動的に表示する変数や式を指定する

プログラムの実行や停止

コマンド 内容
c(continue) 停止しているプログラムを続行する
n(next) 停止しているプログラムの次の1行を実行する。関数呼び出しを1行として関数には入らない
s(step) 停止している次の1行を実行する。関数の呼び出しで関数の中に入る
Ctrl-C 現在実行中のプログラムを強制ストップする。ブレーク・ポイントに止まった場合などに使用

プログラムの内容を表示する

コマンド 引き数 内容
info break 設定したブレーク・ポイントを表示する
info registersレジスタを表示する
info locals ローカル変数を表示する
info arg 関数の先頭で引き数を表示する(関数の先頭にとまったとき)
info stack スタックを表示する
info frame 現在のC関数のフレーム構造を表示する

プログラムを表示する

コマンド 内容
list 現在行のまわり10行分を表示する。範囲指定も可能
disassemble メモリ上のプログラムの逆アセンブル表示を行う
backtrace 関数の呼び出し元をトレースする

データを表示する

コマンド 内容
print 変数やポインタの表示を行う。$をレジスタ名の先頭につけることでレジスタ表示も可能
x メモリ番地の表示を行う

その他

コマンド 内容
quit GDBを終了する
help トップ・レベルのコマンドの詳細を表示する。help infoとすることで、個別コマンドの詳細を示す

参考

  1. 「プロなみJTAGデバックを個人でも! オープンソースOpenOCD入門」CQ出版社 Interface誌 2015年3月号 p96〜p107
devtool/toolchain/gdb/gdb-basic-command.txt · 最終更新: 2019/10/25 10:58 by 192.0.99.138