在虚拟盒中调试客户操作系统的工具

时间:2010-01-11 21:55:52

标签: debugging assembly kernel emulation virtualbox

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

如果没有违反任何规则,我会更加关注它,因为stackoverflow承诺更有活力!

“嗨, 我做了一些搜索,找不到任何工具来从虚拟框中的早期启动调试来宾系统。虽然,我遇到了JCP,一个java中的x86模拟器,它不是那么强大和美观,但有一个调试模式,人们可以查看物理内存,CPU注册其他东西。它还可以逐步执行CPU指令并设置断点,观察点和条件点。 Virtual Box中有这样的东西吗?

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

如果你认为它的好主意(我认为是),它怎么能实现呢?我有兴趣开发这样的东西,并想知道它是否可行,如果还没有实现的话。“

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

2 个答案:

答案 0 :(得分:11)

与上述内容相反,VirtualBox现在包含(有限的)调试器。启动VM时,在命令行中添加--dbg。有关更多信息,请参阅:

12.1.3. The built-in VM debugger

答案 1 :(得分:7)

OSDev wiki有一些关于调试客户操作系统的有用信息,但根据this page VirtualBox目前没有调试器。我一直在使用the GDB stub的QEmu而且效果非常好,所以你可能愿意改用它。