2012-06-03 16 views
5

gdbの特定のコード行だけを逆アセンブルします。これを行うには、私は上記の行のメモリアドレスが必要です。 gdbで特定のコード行のアドレスを取得するにはどうすればよいですか?あるいは、gdbに行番号で逆アセンブルするコマンドがありますか?gdbは1行を逆アセンブルします

答えて

3

逆アセンブルする行にブレークを入れて、現在の命令を取得しようとすることができます。

disp/i $pc 

これは、デバッグ情報なしでバイナリをデバッグするとき、これは常に私にとって役に立ちます。また、単にpcprint $pcまたはinfo registersのいずれかで取得するか、単にx命令を使用することもできます。 は、例えば:

x/10i address //displays the first 10 instructions in assembly starting from address 

または

x/10i register //displays the first 10 instructions starting from address stored in register 
2

あなたが使用することができます:set disassemble-next-line onを行番号でdiassembleします。次に、表示する特定の行にブレークポイントを設定する方法を使用します。

関連する問題