デバッグ

-->>TOP -->>戻る

私が使った事あるのは

gdbとかvisual studioである。

ブレークして変数にある値を入れてリスタートして動作して次のブレーク中の変数を表示したりして

動作確認する。

gdbコマンドの時に実行(バイナリー)ファイルとコアファイルが指定できる。

コアファイルではbt(backtrace)のあとf [#数字のみ](frame [#数字のみ])とかつかって場所確認でl(list)したりする。

gdbでは標準入力状態でスタートする前にb(break)の何ファイルの何行目かを指定してr(run)をスタートしブレイク後s(step)とかn(next)とかc(continue)入力する。

info bとかinfo threadとかでブレイクポイントやスレッドの情報が得れる。

値の表示にはp(print)とかprintfでコードの表示にはl(list)だった。

値の変更はsetのようである。

前のコマンドと同じ場合リターンのみでOKである。

終了はq(quit)である。

デバックモードのバイナリーじゃなくても正式のバイナリーでもgdbで見れるとか言われた。

なんだかバイナリー自体にコードを含んでるのかなあと思ったりした。

テスト技術やバグの発見には必要なものである。

あんまり他人から詳しく教えてもらえなかったので

不得手だけど

何度か扱った。

データベースやら端末やらついてくると

評価が難しくなる気がする。

デバック技術とコンパイルエラーに対するこの反射神経は

人間とコンピューターとの対話のような気がする。

-->>TOP -->>戻る

//2014/02/18 新規作成

//2014/03/25 追加編集

//2014/06/08(20:30) 追加編集


//gdbの例//20191103//20191110//20191111編集

cd /home/usr/bin

gdb application

set args 引数1 引数2

b filecode:何行目の数字

b filecode:関数名

b main

b 関数名

info b

r

s

n

l

p 変数

set 変数 値

c

q

y

gdb application corefile

bt

f 数字

info f

q

y

//20191125

/*Visual Studio

F11ステップイン

F10ステップオーバー

Shift+F11ステップアウト

*/