Cooperative debugging: questions or answers?
Posted: Thu Feb 11, 2010 7:07 am
Greetings again.
This morning i was thinking about debugging in the OS, and then trying one idea out.
The idea is to port your kernel over to another OS, like windows, creating essentially a virtual environment for it to run in, but with more control than an emulator.
This allows you to debug both userspace and higher kernel functions from the comfort of an IDE and break-step debugger.
Here is the result in question:
http://orbides.1gb.ru/aprom-vm-100211.zip (last updated: post time+2:30)
The OS itself and it's slight description can be found here: http://forum.osdev.org/viewtopic.php?f=2&t=21536
Basically, it runs everything natively in a private memory space, intercepting interrupts and exceptions using NT's Vectored Exceptios and routing them into the unmodified kernel handlers. That way, most of the userspace runs unmodified, except for VESA and terminal drivers. Also, the device side is exposed, making it possible to mount host directories in the inner VFS, for example.
Now, the questions are:
Have anyone done something like that before?
Is it of any value to anyone here, specifically, me explaining how to set it up?
And, any ideas what to make of it?
This morning i was thinking about debugging in the OS, and then trying one idea out.
The idea is to port your kernel over to another OS, like windows, creating essentially a virtual environment for it to run in, but with more control than an emulator.
This allows you to debug both userspace and higher kernel functions from the comfort of an IDE and break-step debugger.
Here is the result in question:
http://orbides.1gb.ru/aprom-vm-100211.zip (last updated: post time+2:30)
The OS itself and it's slight description can be found here: http://forum.osdev.org/viewtopic.php?f=2&t=21536
Basically, it runs everything natively in a private memory space, intercepting interrupts and exceptions using NT's Vectored Exceptios and routing them into the unmodified kernel handlers. That way, most of the userspace runs unmodified, except for VESA and terminal drivers. Also, the device side is exposed, making it possible to mount host directories in the inner VFS, for example.
Now, the questions are:
Have anyone done something like that before?
Is it of any value to anyone here, specifically, me explaining how to set it up?
And, any ideas what to make of it?