GDB实模式到保护模式,即时反汇编

4
我正在尝试调试一段带有上下文切换的MBR代码。默认情况下,我已经设置了16位反汇编指令的asm布局。
当我将上下文切换到保护模式时,我的问题出现了,在这种情况下,asm窗口中的指令会变得混乱/无意义(处理器仍然会运行正确的指令)。
我知道关于“set architecture i8086/i386”命令,但它们只在我连接到虚拟机之前起作用。我无法“即时”更改架构。
注意:我想来回进行上下文切换,因此需要看到正确的指令。
总的来说,是否有可能切换架构并刷新asm窗口中的指令?(使用某些奇怪的命令?奇怪的解决方法?)

我认为这并不重要......它也可以是一个简单的exe文件。但我在vmware工作站上同时使用mbr和ubuntu系统。(我通过ubuntu调试mbr代码) - lerosQ
1个回答

3

好的,最终我自己解决了。

不需要魔法......

首先需要建立架构:

set arch i8086 / set arch i386 (...)

如果需要对特定的函数/地址范围进行反汇编,则应使用disassemble命令:

disassemble 0x7c00, +100

“layout asm” / “layout reg” 应该也会交换,至少如果您滚动子窗口以使GDB重新绘制。 - Peter Cordes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接