Discussion:
Losing Serial Connection to Debug Kernel
(too old to reply)
Gernot Buselmeier
2010-04-21 14:26:36 UTC
Permalink
Raw Message
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 (both
v6.11and v6.12).

This is true for any of the following:

1. If I request initial brakpoint at boot or on first module load
(Ctrl-Alt-K options).
2. If I load a PNP driver with KdBreakPoint() in DriverEntry
3. 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:

1. I cannot Ctrl-Break in the KD anymore (but the target does not
freeze, as reported in another thread here)
2. If I had set a breakpoint on a IOCTL handler in my driver before
and it is hit, the system hangs
3. 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 did some research and I know that the KD uses a polled communication
(at least 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 debug 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?

My target machine is a EFI platform with 64-bit Dual Core CPU with HT.
I get this behaviour with XP and Win7, both 32-bit and 64-bit OS
installations.


Any help appreciated!
Thanks in advance! Gernot
p***@gmail.com
2016-10-12 13:56:19 UTC
Permalink
Raw Message
Same for me :-(
Did you find any solution to this ???
Post by Gernot Buselmeier
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 (both
v6.11and v6.12).
1. If I request initial brakpoint at boot or on first module load
(Ctrl-Alt-K options).
2. If I load a PNP driver with KdBreakPoint() in DriverEntry
3. 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
1. I cannot Ctrl-Break in the KD anymore (but the target does not
freeze, as reported in another thread here)
2. If I had set a breakpoint on a IOCTL handler in my driver before
and it is hit, the system hangs
3. 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 did some research and I know that the KD uses a polled communication
(at least 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 debug 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?
My target machine is a EFI platform with 64-bit Dual Core CPU with HT.
I get this behaviour with XP and Win7, both 32-bit and 64-bit OS
installations.
Any help appreciated!
Thanks in advance! Gernot
Loading...