zoukankan      html  css  js  c++  java
  • 在 XenServer上调试windows程序

    WinDbg

    WinDbg is one of a number of tools available from Microsoft that can be used for debugging Windows guests in XenServer environments.

    You can get QEMU to passive-open a TCP port on dom0 for serial output and wait for a connection, this method will work if you're running on 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:

    1. Grab a copy of HW Virtual Serial Port from http://www.hw-group.com/products/hw_vsp/hw_vsp2_en.html and install it.
    2. Fire up the application and configure a COM port to point at your dom0 IP address and the <port> you specified to QEMU above). Make sure that you uncheck 'NVT Enable' in the Settings tab.
    3. Start the COM port.
    4. Configure debugging inside the guest by editing boot.ini in the usual way.
    5. Reboot the VM.
    6. Start windbg and point it at the COM port you created.
    An Unofficial Method

    To the best of my knowledge we have never released sockpipe.exe but this is a method some of our own developers use, it isn't supported but may be useful to developers in a debug scenario.

    If you're running windbg on 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:

    1. Run sockpipe.exe (which seems to be available here) on the machine where you want to run windbg. Run it without arguments to get help; it should be fairly obvious what's going on. For example, you could use 'sockpipe <name> <port>' (where <port> is the name number as specified to QEMU above).
    2. Fire up windbg and go ``File->Kernel Debugging'', make sure that ``Pipe'' is ticked, and enter \.pipe<name> in the Port box, where <name> is the pipe name specified to sockpipe. Hit OK.
    3. Configure debugging inside the guest by editing boot.ini in the usual way.
    4. Reboot the VM.
    5. Debug as normal.

    I'm told it may be a bit slow, but it mostly works although it has limitations; it will not work for SMP 64 bit or SMP Vista.

     

    Further Information

     链接

  • 相关阅读:
    mysql在虚拟机上重启命令
    mysql最佳优化经验
    mysql索引优化面试题
    Java 23种设计模式详尽分析与实例解析之三--行为型模式
    几种经典的数据排序及其Java实现
    os内存使用管理之linux篇
    C++基础学习笔记----第四课(函数的重载、C和C++的相互调用)
    os内存使用管理之unix-AIX篇
    Spring3.0 入门进阶(1):从配置文件装载Bean
    网上销售第二天有感
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/6747538.html
Copyright © 2011-2022 走看看