GDB で特定の関数のスコープ内で変数を宣言するにはどうすればよいでしょうか? 質問する

GDB で特定の関数のスコープ内で変数を宣言するにはどうすればよいでしょうか? 質問する

gdbでは既に宣言されている変数をセットコマンドを使用しますset

gdb が特定の関数のスコープ内で新しい変数を動的に宣言することは可能ですか?

ベストアンサー1

動的にスペースを割り当て、それを使用して新しい変数を保存できます。「現在の関数のスコープ」の意味によっては、それが望んでいるものではない可能性があります。

しかし、出力パラメータへのポインタを受け取る関数 func() がある場合は、次のようになります。

set $foo = malloc(sizeof(struct funcOutStruct))
call func($foo)
p *$foo
call (void) free($foo)

おすすめ記事