[解決済み】GDBで現在のアセンブリ命令を表示する
2022-04-10 02:51:45
質問
GDBでアセンブリレベルのデバッギングをしています。GDBが現在のソース行を表示するのと同じように、現在のアセンブリ命令を表示させる方法はありますか?すべてのコマンドの後のデフォルトの出力は、次のようになります。
0x0001433f 990 Foo::bar(p);
これにより、現在の命令のアドレスが得られますが、そのためには
disassemble
現在どの命令を実行しているのかを確認するためです。
どのように解決するのですか?
GDBでアセンブリレイアウトに切り替えることができます。
(gdb) layout asm
参照 こちら をご覧ください。現在のアセンブリ命令は、アセンブラウィンドウに表示されます。
┌───────────────────────────────────────────────────────────────────────────┐
│0x7ffff740d756 <__libc_start_main+214> mov 0x39670b(%rip),%rax #│
│0x7ffff740d75d <__libc_start_main+221> mov 0x8(%rsp),%rsi │
│0x7ffff740d762 <__libc_start_main+226> mov 0x14(%rsp),%edi │
│0x7ffff740d766 <__libc_start_main+230> mov (%rax),%rdx │
│0x7ffff740d769 <__libc_start_main+233> callq *0x18(%rsp) │
>│0x7ffff740d76d <__libc_start_main+237> mov %eax,%edi │
│0x7ffff740d76f <__libc_start_main+239> callq 0x7ffff7427970 <exit> │
│0x7ffff740d774 <__libc_start_main+244> xor %edx,%edx │
│0x7ffff740d776 <__libc_start_main+246> jmpq 0x7ffff740d6b9 <__libc_start│
│0x7ffff740d77b <__libc_start_main+251> mov 0x39ca2e(%rip),%rax #│
│0x7ffff740d782 <__libc_start_main+258> ror $0x11,%rax │
│0x7ffff740d786 <__libc_start_main+262> xor %fs:0x30,%rax │
│0x7ffff740d78f <__libc_start_main+271> callq *%rax │
└───────────────────────────────────────────────────────────────────────────┘
multi-thre process 3718 In: __libc_start_main Line: ?? PC: 0x7ffff740d76d
#3 0x00007ffff7466eb5 in _IO_do_write () from /lib/x86_64-linux-gnu/libc.so.6
#4 0x00007ffff74671ff in _IO_file_overflow ()
from /lib/x86_64-linux-gnu/libc.so.6
#5 0x0000000000408756 in ?? ()
#6 0x0000000000403980 in ?? ()
#7 0x00007ffff740d76d in __libc_start_main ()
from /lib/x86_64-linux-gnu/libc.so.6
(gdb)
関連
-
[解決済み] テスト
-
[解決済み] MIPSプログラムの中で`lw`と`sw`が実際にどのように機能するかを理解する
-
[解決済み] Binary Bomb Phase_6 Node Order?
-
[解決済み] MIPSアセンブリ言語では、なぜ.globl mainを使うのですか?
-
[解決済み] MIPSプログラムにおける`lw`と`sw`の実際の働きを理解する。
-
[解決済み] LC3 LEA 命令と格納された値
-
[解決済み] movqアセンブリ機能
-
[解決済み] GDBでメモリ範囲をディスアセンブルする方法は?
-
[解決済み] 1サイクルあたり4FLOPの理論上の最大値を達成するにはどうすればよいですか?
-
[解決済み] GDB にブレークポイントのリストを保存させる
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 018Hと0cHは、アセンブリでは何の略ですか?具体的には「cH」と「0」「h」のプリフィックス/ポストフィックス
-
[解決済み] アセンブリでは、`PTR`は何の略ですか?
-
[解決済み] linuxのsys_readシステムコールを作ると、レジスタeaxに何が入るのでしょうか?
-
[解決済み] アセンブリで文字列の長さを表示する方法
-
[解決済み] SRLとSRAの違いは何ですか?[重複しています]。
-
[解決済み] MIPS:lw(ロードワード)命令
-
[解決済み] MIPSのオペコードにおけるlaとliの違いは何ですか?
-
[解決済み] ST(0)をEAXに移動させる方法は?
-
[解決済み】問題のデバッグを助けるためにPythonのコードをステップスルーする方法は?
-
[解決済み] main()は本当にC++のプログラムの始まりなのか?