デバッグにはgdbを使用しており、いくつかの補助コマンドを定義する必要があります。基本的に、私はカスタムコマンドが与えられた引数の数に応じて他のタスクを実行したいと思います。
$arg*
だからそれが与えられるかどうかをテストしたいと思います。以下のコードを参照してください。
define pgdir
set $pgdir = $arg0
if ($arg1) {
// show the corresponding PDE
} else {
// show the whole page directory
}
end
変数が無効かどうかをテストできますか?
答え1
あなたはそれを使用することができます便利機能 $_isvoid()
。変数が空の場合、1 が返されます。
(gdb) set $v = 1
(gdb) print $_isvoid($v)
$1 = 0
(gdb) print $_isvoid($v2)
$2 = 1
答え2
gdb
$argc
マニュアルに応じてサポート範囲は0..10まで拡張されるため、お客様の場合
define pgdir
if $argc == 2
...
else
...
end
end
答え3
私の問題には、$argc
これを行うことができる変数があります。
define pgdir
set $pgdir = $arg0
if ($argc == 1) {
// show the corresponding PDE
} else {
// show the whole page directory
}
end
問題に関しては変数が無効かどうかをテストする方法、私はトリッキーでエレガントではない方法を思い出しました。変数がvoid値を持つ変数と等しいかどうかをテストします。。
define func
if ($var_to_test == $var_that_no_one_is_like_to_use_so_that_it_is_void)
// do something
end