- The “breakin on first symbol load” option is the earliest possible
break for the regular kernel boot. The kernel module load is sent
immediately after initializing kernel debugging on the target, and with
an initial-module-load break you’ll stop there.
I can’t answer as to whether /break is even earlier than that. It’s
possible that if the boot loader interprets /break itself and breaks for
boot debugging then you could get a break during the boot loader phase.
However, I’m not sure that’s what you’re interested in. If it’s regular
kernel debugging that you care about, the -d initial module break is the
earliest.
-
When the target reboots the debugger discards all state since you
could boot up a totally different system. In windbg this will cause a
workspace change and thus your window state could change.
-
-d is the earliest regular kernel debugging break. You can’t break
on KiSystemStartup as kd isn’t initialized and usable then. If you’re
doing boot debugging you can watch the kernel load and catch the
transition from the boot loader to the kernel.
-
You can only catch breaks on boot-loader-time drivers if you’re doing
boot debugging.
-
How far did you go in KeBugCheckEx? Did you step in or over? It’s
normal code and can be stepped into right up to the point when it resets
the box.
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of raj_r
Sent: Friday, October 20, 2006 12:46 PM
To: Kernel Debugging Interest List
Subject: [windbg] Break on first module load
which is the earliest break possible
cycling through debug -> kernel connection i get two option to break
according to the help file
one is equivalent to commandline switch -b
and another -d
help says -d can break earlier than -b
there is also a /break switch availble in boot.ini
does /break switch enabled in boot.ini break earlier than these both ?
also help file says
Break on first module load
whereaes cycling through ctrl+alt+k i see it says
breaks on first symbol module load
which mean all the real modules have been already loaded isnt it ?
and this break will break
at nt!dbgLoadImageSymbols
- also after i cycle through and select an option
if i issue a .reboot to vpc
i see the existing windbg(kd) closes down
and a new windbg(kd) session starts up
i was thinking it would remain active and catch the break
is this the normal way ?
-
can i force windbg to break even earlier than nt!DebugBreak which is
where it breaks
if i use /break switch in boot.ini
like lets say
nt!KiSystemStartup
-
how can i break lets say on the address of entry point of bootvid.dll
(assuming its called)
5)also what happens if i was tracing and i execute nt!KeBugCheckEx()
from windbg
does the windbg as well as target both sit there doing nothing (idling
maybe )
the windbg gui is active the vpc gui is active (in the sense i can
minimize maximize it to taskbar)
but i cant do anything else with both of them (if i reset vpc ) this
windbg remains a zombie
doesnt break again
hope to get a few pointers
thanks and regards
raj_r
— You are currently subscribed to windbg as: xxxxx@winse.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com