Kernel Debugging between two Windows VMs - Problems with COM
Posted: 18. Apr 2012, 18:05
I'm having a bit of trouble getting kernel debugging up and running between two Windows VM on a linux host.
Host: Fedora 16
VM1: Win 7 (debugger)
VM2: Win XP (target)
Since I want to remote debug XP, it looks like my only options are serial / 1394, and 1394 doesn't seem to be supported in virtualbox yet. Thus I'm trying serial. Here are the steps I've taken, with the problems arising in 6.
1. I enabled debugging for XP by adding "/debug /baudrate=115200 /debugport=COM1" to boot.ini appropriately.
2. For the VBox settings on XP VM, I enabled COM1, Host pipe, checked create pipe (thus server), and named it /tmp/com_1
3. For VBox settings on Win7 VM, I enabled COM1, Host pipe, did NOT create pipe (thus client), and used name /tmp/com_1
4. Boot XP VM in debug mode - success
5. Boot Win7 VM - success (thus it found the pipe, and indeed if we look in /tmp on linux host we see com_1 has been created)
6. Load up Windbg in Win7, select kernel debug, COM tab, baudrate=115200, port=/tmp/com_1, checked (and unchecked) pipe, tried to connect, and it cannot find path specified. I've also tried using just com1 for port name (and it shows trying to connect to \\.\com1) without any luck.
Not sure what I'm doing wrong. Pretty much all guides I can find are for Windows hosts, or use the host as the debugger an just one VM as target, etc. Anyone able to offer any advice?
Host: Fedora 16
VM1: Win 7 (debugger)
VM2: Win XP (target)
Since I want to remote debug XP, it looks like my only options are serial / 1394, and 1394 doesn't seem to be supported in virtualbox yet. Thus I'm trying serial. Here are the steps I've taken, with the problems arising in 6.
1. I enabled debugging for XP by adding "/debug /baudrate=115200 /debugport=COM1" to boot.ini appropriately.
2. For the VBox settings on XP VM, I enabled COM1, Host pipe, checked create pipe (thus server), and named it /tmp/com_1
3. For VBox settings on Win7 VM, I enabled COM1, Host pipe, did NOT create pipe (thus client), and used name /tmp/com_1
4. Boot XP VM in debug mode - success
5. Boot Win7 VM - success (thus it found the pipe, and indeed if we look in /tmp on linux host we see com_1 has been created)
6. Load up Windbg in Win7, select kernel debug, COM tab, baudrate=115200, port=/tmp/com_1, checked (and unchecked) pipe, tried to connect, and it cannot find path specified. I've also tried using just com1 for port name (and it shows trying to connect to \\.\com1) without any luck.
Not sure what I'm doing wrong. Pretty much all guides I can find are for Windows hosts, or use the host as the debugger an just one VM as target, etc. Anyone able to offer any advice?