13

我只是交叉发布了我在 virtualbox.org 上所做的相同问题。http://forums.virtualbox.org/viewtopic.php?f=9&t=26702&p=119139#p119139

如果不违反任何规则,我会很感激更多地了解它,因为 stackoverflow 承诺会更加动态!

“嗨,我做了一些搜索,没有找到任何工具来从早期在虚拟机中启动来调试客户系统。虽然,我遇到了 JCP,一个 Java 中的 x86 仿真器,它不是那么强大和漂亮,但有一个调试模式可以查看Physical Memory、CPU registers等东西,也可以一步步执行CPU指令,设置断点、观察点、条件断点,Virtual Box有这种东西吗?

我认为拥有它并能够在系统运行时检查系统会很棒。用于了解 PC 架构或作为开发内核的工具。

在您认为它的好主意(我认为是)的情况下如何实现?我对开发这类东西很感兴趣,并且想知道它是否可行,如果尚未在某个地方实施的话。”

EDT:现代 x86 是否能够在一个 cpu 周期后中断其执行并将执行地址传递给另一个代码来执行此操作?是的,可以设置陷阱标志以将处理器置于逐步执行模式。x86 将执行一条指令并调用 INT 3。

4

2 回答 2

12

与上述相反,VirtualBox 现在包含一个(有限的)调试器。启动 VM 时添加--dbg到命令行。欲了解更多信息,请咨询:

12.1.3. 内置 VM 调试器

于 2011-11-18T22:07:47.940 回答
7

OSDev wiki有一些关于调试来宾操作系统的有用信息,尽管根据这个页面VirtualBox 目前没有调试器。我一直在使用带有GDB 存根的QEmu ,它工作得非常好,所以你可能想试试看。

于 2010-01-12T15:06:13.147 回答