我正在尝试在我的 Guest - WindowsXP OS 上内核调试应用程序
我的主机是安装了VMware Workstation 12的 Ubuntu 14.04 x64 。
Debugger Guest OS 是安装了WinDBG的 Windows 7 。
我从vmware读过这篇文章: https://www.vmware.com/support/ws55/doc/ws_devices_serial_advanced_example_debugging.html
https://www.vmware.com/support/ws55/doc/ws_devices_serial_2vms.html
我根据文章的理解配置了我的机器,但它不会工作。有一点我真的不明白,这可能是我的问题,NamedPipe
应该配置为什么?
我应该使用\\.\pipe\[NAME]
语法还是/tmp/[NAME]
语法?
显然,在Windows 7 - Debugger
机器内,它无法识别/tmp/[Name]
机器。那是哪一个呢?
以下是我的配置:
WindowsXP(调试客户操作系统):
BOOTCFG
Boot Loader Settings
--------------------
timeout: 30
default: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
Boot Entries
------------
Boot entry ID: 1
Friendly Name: "Microsoft Windows XP Professional"
Path: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
OS Load Options: /noexecute=optin /fastdetect /debug /debugport=COM1: /baudrate=115200
Windows7(使用WinDBG的调试程序)
现在在我的 Windows7 上打开WinDBG
,点击CTRL + K获取KernelDebugging选项,转到“COM”标签并配置如下:
现在重置Guest XP
操作系统没有任何结果..我的WinDBG客户端上没有任何东西
我错过了什么?我的端口命名约定是否错误,因为我使用的是linux主机?
答案 0 :(得分:2)
我可以在这里看到一些问题
我能够在Ubuntu 14.04和Ubuntu 14.04上安装Windows 7虚拟机(一个调试器和另一个调试对象)上的windbg。工作站11.1.3
答案 1 :(得分:0)
您已经在一个物理主机内的两个单独的虚拟机中安装了两个Windows操作系统,这些主机运行某种类型的Linux 如果是这种情况,你更喜欢使用命名管道
1) edit the boot.ini in xp (no bcdsettings available in xp guest)
2) add a serial port on both the virtual machines
3) use named pipe \\.\pipe\com_1 on both virtual machines
4) assign one end as server and other end as virtual machine in first vm
5) assign one end as client and other end as virtual machine in second vm
6) restart
此链接有一些奇特的废话,但你可以参考图像
http://www.woodmann.com/forum/entry.php?234-connect-two-virtual-machines-on-one-physical-host-and-use-wdeb386-to-debug-win98-app