Only after .reload, lm command and Modules in windbg GUI
show the complete module list (with various symbols
states, either loaded, delayed or missing).
Even when lm can't see my driver, !dh command shows
it in the memory correctly.
The symbol path (correct) is set in the workspace specified
in windbg command line.
Is there any trick or option to get the list of modules without .reload?
I wanted to check that my driver is loaded,
and avoid .reload because it can take very long time
when symbols are unavailable.
!dh command is fine, but I'd like to do all this in my own tool (windbg
extension dll): detect connection to the target, detect the driver,
detect state of symbols, find and reload symbols if needed.
I can't distinguish between situations when
GetExpressionEx("mydriver!somevar") fails because mydriver is not
loaded, or the engine just doesn't see any modules.
Regards,
--pa
"Pavel A." <pav...@NOfastmailNO.fm> wrote in message
news:ucfD6CEn...@TK2MSFTNGP04.phx.gbl...
Thanks, Mr. Doe.
This gives:
kd> dt nt!_LDR_DATA_TABLE_ENTRY -l InLoaderLinks.Flink -y
poi(nt!PsLoadedModuleList) FullDllName
InLoaderLinks.Flink at 0x81dfc3b0
---------------------------------------------
+0x024 FullDllName : _UNICODE_STRING "\WINDOWS\system32\ntkrnlpa.exe"
0: kd> dt nt!_LDR_DATA_TABLE_ENTRY -l InLoaderLinks.Flink
poi(nt!PsLoadedModuleList) FullDllName
InLoaderLinks.Flink at 0x81dfc3b0
So, if windbg sees PsLoadedModuleList, why it won't display
all loaded modules?
( by the way, there's error in my previous post.
The !dt or !lmi commands also do not display anything
when lm doesn't work )
Windbg version is 6.9.3.113. Target is WinXP SP3 x86.
Regards,
--pa
This is my experience also. My assumption has always been that since the
debugger didn't see the load notifications for the images its local copy of
the module list is busted. Only solutions are to connect at boot time or do
the .reload
-scott
--
Scott Noone
Consulting Associate
OSR Open Systems Resources, Inc.
http://www.osronline.com
Looking forward to seeing you at the next OSR Kernel Debugging Class April
6, 2009 in Portland, OR!
"Pavel A." <pav...@NOfastmailNO.fm> wrote in message
news:ucfD6CEn...@TK2MSFTNGP04.phx.gbl...
"Scott Noone" <sno...@osr.com> wrote in message
news:el452JOn...@TK2MSFTNGP05.phx.gbl...
Scott's answer is correct. The code in the debugger that fixes up a module
list is inside of the .reload code and cannot be called independently.
.pat styles [microsoft]
"Pavel A." <pav...@NOfastmailNO.fm> wrote in message
news:#uOZstMn...@TK2MSFTNGP06.phx.gbl...