none
Kernel debug inside two VMWare machines over named pipes

    Question

  • Using VMWare Workstation 9, host: Windows 7, both guests: Windows 8 RTM

    I have two guest machines -

    dev: running Visual Studio 2012, pipe settings: client/vm
    target: clean install of Windows 8 RTM, pipe settings: server/vm (also tried server/application)

    I can get everything to work if I debug over the network, but as I'm developing a network driver I need to debug over pipes. I am trying to enable Kernel debugging from the dev machine to the target over named pipes.

    When I try to debug over pipe I don't get any errors, but the debugger just sits waiting for a connection.

    Looking at bcdedit on the target, it reports serial, debugport 2, baudrate 122500

    VMWare reports 'Serial Port 2' on both guests for the serial port.

    Any ideas what to check please?


    Michael Tissington

    Monday, September 03, 2012 5:41 AM

Answers

  • Finally got it to work .... and for anyone who comes looking ..

    Running VMWare Workstation 9, both guests are Windows 8 RTM

    guest 1) Visual Studio 2012 and WDK

    guest 2) Software to debug

    Add Serial Port to both machines

    guest 1) Server/Virtual Machine and check Yield CPU

    guest 2) Client/Virtual Machine and check Yield CPU

    Start both machines

    guest 1) Start Visual Studio, Debug, Attach Process, choose Kernel Debug and then provision machine.

    guest 1) For Kernel Transport choose serial and make sure you enter the port name (DONT check pipe)

    If the VMWare port name is 'Serial Port 2' then use com2 etc.

    Visual Studio should now be able to provision the target (guest 2).

    Shutdown guest 2 and Attach the debugger to kernel now start guest 2 again and eventually it should hit breakpoint.

    Enjoy


    Michael Tissington

    Wednesday, September 05, 2012 3:47 AM

All replies

  • I know using virtual serial port.

    Please check http://silverstr.ufies.org/lotr0/windbg-vmware.html.

    Regards,

    Anand Choubey

    Monday, September 03, 2012 9:25 AM
  • This does not speak about using two virtual machines, also does not talk about Visual Studio 2012.


    Michael Tissington

    Tuesday, September 04, 2012 3:36 PM
  • This is not a scenario we tested or validated. you have to use the standard debugger transports. networking debugging should work, add a 2nd virtual nic

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Wednesday, September 05, 2012 2:38 AM
    Owner
  • Since when has debugging over a serial port not been a standard debugger transport?

    In fact there is a KB by Microsoft that talks about using a pipe in a virtual machine in VMWare!

    I just can not get it to work for some unknown reason....


    Michael Tissington

    Wednesday, September 05, 2012 3:00 AM
  • Finally got it to work .... and for anyone who comes looking ..

    Running VMWare Workstation 9, both guests are Windows 8 RTM

    guest 1) Visual Studio 2012 and WDK

    guest 2) Software to debug

    Add Serial Port to both machines

    guest 1) Server/Virtual Machine and check Yield CPU

    guest 2) Client/Virtual Machine and check Yield CPU

    Start both machines

    guest 1) Start Visual Studio, Debug, Attach Process, choose Kernel Debug and then provision machine.

    guest 1) For Kernel Transport choose serial and make sure you enter the port name (DONT check pipe)

    If the VMWare port name is 'Serial Port 2' then use com2 etc.

    Visual Studio should now be able to provision the target (guest 2).

    Shutdown guest 2 and Attach the debugger to kernel now start guest 2 again and eventually it should hit breakpoint.

    Enjoy


    Michael Tissington

    Wednesday, September 05, 2012 3:47 AM