VMware Workstation¶
Use ntoseye configure to select a registered VMware VM and configure it automatically. It keeps the existing serial devices, uses the next free guest COM port, makes a backup of the .vmx file, and shows the guest instructions for this configuration.
Power off the VM before you run ntoseye configure, and keep only one VMware VM powered on while you use ntoseye. To configure the VM manually, follow the sections below.
KD over a serial socket¶
In the guest, open a shell as Administrator and run these commands to enable kernel debugging:
bcdedit /debug on bcdedit /dbgsettings serial debugport:1 baudrate:115200
Restart the guest.
Configure the first virtual serial port (guest COM1) as a server-side pipe:
serial0.present = "TRUE" serial0.fileType = "pipe" serial0.fileName = "/tmp/ntoseye-kd.sock" serial0.pipe.endPoint = "server" serial0.startConnected = "TRUE" serial0.yieldOnMsrRead = "TRUE"
Run
ntoseyeto connect.
If another virtual serial device uses COM1, configure the next serialN entry and use debugport:N+1 in the bcdedit /dbgsettings command.
KDNET¶
KDNET uses the guest’s virtual NIC and does not need a serial device. Choose a host IP address that the guest can reach through its bridged, NAT, or host-only VMware network, then follow the KDNET guide.
GDB stub¶
VMware Workstation has its own GDB remote stub. To use it, add these lines to the VM’s .vmx file:
debugStub.listen.guest64 = "TRUE"
debugStub.port.guest64 = "1234"
Then start ntoseye with --backend gdb.
Warning
Do not enable kernel debug mode in the guest. The GDB backend warning explains why.
ntoseye does not support legacy VMware stubs that do not give an AMD64 XML target description, so use KD or the memory backend with them.
Memory introspection¶
The memory backend needs no host or guest configuration. For what it can and cannot do, see Choosing a backend.