GdbでCまたはC++プログラムをデバッグするときにアセンブリに切り替える方法はありますか? (すべてのソースファイルとそれに対応するアセンブリファイルが利用可能であることを前提とします)
関数またはコードの特定のセクションを逆アセンブルする方法はありますか?
そのためのコマンドはdisassemble <function name>
またはメモリの場所。
これはあなたが言っていることですか?
(gdb) help disassemble
Disassemble a specified section of memory.
Default is the function surrounding the pc of the selected frame.
With a single argument, the function surrounding that address is dumped.
Two arguments are taken as a range of memory to dump.
新しいgdbバージョン7.0では、disassemble
コマンドが新しい引数/m
を受け取ることができるため、ソースと逆アセンブリの混合が発生します。
Disasコマンドを使用すると、おそらくあなたが望むことをするでしょう。
内部ヘルプによると、disasコマンドは次のことを行います。
Disassemble a specified section of memory.
Default is the function surrounding the pc of the selected frame.
With a single argument, the function surrounding that address is dumped.
Two arguments are taken as a range of memory to dump.
その質問はcgdbのgooglegroup https://groups.google.com/forum/?hl=de&fromgroups=#!topic/cgdb-users/E-jZCJiBAQQ でも行われました
なぜレイアウトASMが機能しないのかまだ答えはありません
編集:彼らは最近投稿し、その機能はまだ実装されていないことを伝えました。 (上のリンクを確認してください)