Hi all,
I want to do remote debugging with a new HW platform via serial interface, but I lose the connection to the remote machine during (or after?) the boot sequence.
Initially, I have connection to the target from within WinDBG. This is true for any of the following:
- If I request initial brakpoint at boot or on first module load (Ctrl-Alt-K options).
- If I load a PNP driver with KdBreakPoint() in DriverEntry
- Ctrl-Break in during the “early” stages
However, once the system startup is nearly complete (~~ at the time Windows switches from the Windows Logo screen (black background) to the colored login screen) I lose the KD:
- I cannot Ctrl-Break in the KD anymore
- If I had set a breakpoint on a IOCTL handler in my driver before and it is hit, the system hangs
- No DbgPrint() is sent to WinDbg
I first thought this might be due to Windows 7 and/or the dual-core/HT CPU, however, I can also reproduce this on XP and with only one CPU core enabled and Hyperthreading disabled.
I know from an earlier thread here that the KD uses a polled communication (when debugging over serial) triggered by the update of the system timer.
I tested both COM1 and COM2 against my debugging host with Hyperterminal and found they are working fine.
I tried to dig into the nt!KdPollBreakIn procedure called by nt!KeUpdateSystemTime but debugging the KD debugging routines is not a very good idea and not of much success.
So the question is: what is changing at the time Windows switches to the colored login screen that damages communication?
While I am writing this, it came to my mind that it might be worth mentioning that the OS installations (XP,W7) I am testing with are 32-bit images on 64-bit HW, but I will give 64-bit installations a try.
Any help appreciated!
Thanks in advance!
Gernot