WinDbg
WINDBG is one of a number of tools available from Microsoft that can be used for debugging Windows guests in XenServer env Ironments.
You can get the QEMU to passive-open a TCP port in DOM0 for serial output and wait for a connection, the This method would work if You ' re running in a machine with a dynamically assigned IP address:
On XenServer 6.2 or later
Xe Vm-param-add uuid=<uuid> Param-name=platform Hvm_serial=tcp::<port>,server,nodelay
On earlier versions
Xe Vm-param-add uuid=<uuid> param-name=other-config Hvm_serial=tcp::<port>,server,nodelay
Then:
- Grab a copy of HW Virtual Serial Port from http://www.hw-group.com/products/hw_vsp/hw_vsp2_en.html and install it .
- Fire up the application and configure a COM port-to-point at your dom0 IP address and the <port> your specified to QE MU above). Make sure this uncheck ' NVT Enable ' in the Settings tab.
- Start the COM port.
- Configure debugging inside the guest by editing boot. Ini in the usual.
- Reboot the VM.
- Start WinDbg and point it at the COM port created.
An unofficial Method
To the best of my knowledge we had never released Sockpipe.exe but that's a method some of our own developers use, it's N ' t supported is useful to developers in a debug scenario.
If you ' re running WinDbg in a machine with a statically assigned IP address then you can use the following setting to get QEMU to Active-open a TCP port on your machine for serial output:
On XenServer 6.2 or later
Xe Vm-param-add uuid=<uuid> Param-name=platform hvm_serial=tcp:<machine>:<port>
On earlier versions
Xe Vm-param-add uuid=<uuid> param-name=other-config hvm_serial=tcp:<machine>:<port>
Then:
- Run Sockpipe.exe (which seems to is available here) on the machine where you want to run WinDbg. Run it without arguments to get help; It should is fairly obvious what's going on. For example, you could use ' Sockpipe <name> <port> ' (where <port> was the name number as specified to QEM U above).
- fire up WinDbg and go "File->kernel debugging", make sure that "Pipe" is ticked, and enter \\.\pipe\<name> ; In the Port box, where <name> was the pipe name specified to Sockpipe. Hit OK.
- Configure debugging inside the guest by editing boot. Ini in the usual.
- Reboot the VM.
- Debug as normal.
I ' M told it is a bit slow, but it mostly works although it had limitations; It won't work for SMP or SMP Vista.
Further information
- Some users has recommended this external blog detailing WINDBG in XenServer environments and in conjunction with other Ci Trix products, the advice contianed have not been reviewed by citrix:http://vikashkumarroy.blogspot.ru/2012_08_01_archive . html
Link
debugging Windows programs on XenServer