コマンドラインでGDBを使用すると、特定のコード行でブレークすることがあります。そのブレークポイントで、関数を呼び出して、の実行ファイルに呼び出しが含まれているかのように呼び出すことができます。GDBから呼び出し可能な関数を一覧表示
特定のブレークポイントで呼び出し可能なすべての関数のリストをGDBに出力するにはどうすればよいですか?
コマンドラインでGDBを使用すると、特定のコード行でブレークすることがあります。そのブレークポイントで、関数を呼び出して、の実行ファイルに呼び出しが含まれているかのように呼び出すことができます。GDBから呼び出し可能な関数を一覧表示
特定のブレークポイントで呼び出し可能なすべての関数のリストをGDBに出力するにはどうすればよいですか?
あなたはcall
を入力し、(リストが表示されるまで)<tab>
を打つことができました。これは、バイナリに含まれている関数をリストしているようです。
呼び出し可能な関数のリスト全体がかなり大きくなる可能性があります。たとえば、すべてのlibc関数が含まれています。代わりに、関数名の入力を開始し、短いリストを取得するにはTab
キーを押してください。また、グローバル変数とファイル名も関数とともにリストされることに注意してください。
(gdb) call 'open
open open_memstream openat.c opendir.c
open64 open_path openat64 [email protected]
open64.c open_socket openat64.c openlog
[email protected] open_translit openaux openlog_internal
open64_2.c open_verify openaux_args opensock.c
open_2.c open_wmemstream openchild.c
open_catalog.c openat opendir
何らかの理由で、私のためにCygwinでタブが動作しません.... – Randomblue
ありがとうございました。タブは私のために働いていないようです。 (私はCygwinを使用しています) – Randomblue
これを有効にするためにCygwinにできる設定がいくつかあります。 [このページ(http://sourcery.dyndns.org/wiki.cgi?CygwinTips)(ctrl + fタブの補完)では、.inputrcファイルに '' \ t ":menu-complete'を追加する方法について説明しています。 – douggard