1

スタック上のアドレスとさまざまなレジスタの内容をチェックするために、先生から渡されたバイナリ ファイルを 1 行ずつ調べたいのですが、gdb の使用にあまり慣れていません。私は C コードを持っていますが、バイナリ ファイルから完全に作業することになっています。これまでに使用したコマンドは次のとおりです。

(gdb) file SomeCode

次のメッセージが表示されます。

Reading symbols from ../overflow/SomeCode ...(no debugging symbols found)...done.

それから私は使用します:

(gdb) disas main

これにより、すべてのアセンブリが得られます。ブレークポイントを設定して「次へ」コマンドを使用したかったのですが、試したコマンドはどれも機能しませんでした。私が使用する構文を知っている人はいますか?

4

2 に答える 2

3

を使っniてみてくださいnexti。同等のsiものはステップ命令です

于 2010-05-04T01:16:02.483 に答える
2

関数呼び出しを飛び越えたい場合は nexti 。関数呼び出しを入力する場合は stepi 。

次のドキュメントは非常に役立ちます。gdb で使用できるすべての重要なコマンドのリストがあります。

X86-64: http://csapp.cs.cmu.edu/public/docs/gdbnotes-x86-64.pdf

IA32: http://csapp.cs.cmu.edu/public/docs/gdbnotes-ia32.pdf

于 2010-10-24T22:48:21.400 に答える