evaluation of local variable symbols

I’m new to this but have managed to get a test/development configuration up and running. I’m debugging a sample driver (doesn’t talk to any hardware) and all seems fine, except that I can’t seem to resolve symbol information for local variables.

Configuration:

NT4.0 SP6
windbg 1.0.0006.0 (load from MS Sept. 24, and seems to be much better than what I tried before)

Compiling the driver for C7 compatible debugging, “/Z7”

All symbol tables seem to load o.k. when I load the driver source, with “!sym noisy” it ends up something like this





DBGHELP: codeview symbols loaded
DBGHELP: FindDebugInfoFileEx-> Looking for c:\winnt\symbols\symbols\sys\mup.dbg… OK
DBGHELP: LoadCodeViewSymbols:
hProcess F0F0F0F0
mi 00A0B748
pCvData 02922CAC
dwSize 89d0
DBGHELP: codeview symbols loaded
DBGHELP: FindDebugInfoFileEx-> Looking for c:\winnt\symbols\symbols\SYS\Cdfs.dbg… OK
DBGHELP: LoadCodeViewSymbols:
hProcess F0F0F0F0
mi 00A0BCA8
pCvData 0295DE54
dwSize 747c
DBGHELP: codeview symbols loaded
DBGHELP: FindExecutableImageEx-> Looking for C:\Program Files\Debugging Tools for Windows\cputest.SYS… no file
DBGHELP: FindExecutableImageEx-> Searching c:\winnt\symbols for cputest.SYS… found
DBGHELP: FindExecutableImageEx-> Looking for c:\winnt\symbols\symbols\sys\cputest.sys… OK
DBGHELP: LoadCodeViewSymbols:
hProcess F0F0F0F0
mi 00A0C1F8
pCvData 02992200
dwSize 8dec
DBGHELP: codeview symbols loaded


the last symbols loaded are for my test driver “cputest”
next, I set a source breakpoint and go

kd> g
Breakpoint 0 hit
cputest!CpuTestOpen+c:
f09bc9b9 68e0c49bf0 push 0xf09bc4e0


on the test system, I call the driver and reach the breakpoint
in windbg on the development system, and all is well. When I try
the display the local variable “tmpstr” (or any local variable), I get the following

kd> dt cputest!tmpstr
DBGHELP: FindExecutableImageEx-> Looking for C:\Program Files\Debugging Tools for Windows\ntoskrnlsym… no file
DBGHELP: FindExecutableImageEx-> Searching c:\winnt\symbols for ntoskrnlsym… no file
DBGHELP: FindExecutableImageEx-> Searching c:\winnt\symbols.4.0 for ntoskrnlsym… no file
DBGHELP: FindDebugInfoFileEx-> Looking for c:\winnt\symbols\symbols\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for c:\winnt\symbols.4.0\symbols\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for c:\winnt\symbols\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for c:\winnt\symbols.4.0\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for c:\winnt\symbols\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for c:\winnt\symbols.4.0\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for ntoskrnlsym.dbg… file not found
DBGHELP: FindExecutableImageEx-> Looking for C:\Program Files\Debugging Tools for Windows\ntoskrnlsym… no file
DBGHELP: FindExecutableImageEx-> Searching c:\winnt\symbols for ntoskrnlsym… no file
DBGHELP: FindExecutableImageEx-> Searching c:\winnt\symbols.4.0 for ntoskrnlsym… no file
DBGHELP: LocatePDB-> Looking for c:\winnt\symbols\symbols\exe\ntoskrnlsym.pdb… file not found
DBGHELP: LocatePDB-> Looking for c:\winnt\symbols\exe\ntoskrnlsym.pdb… file not found
DBGHELP: LocatePDB-> Looking for c:\winnt\symbols\ntoskrnlsym.pdb… file not found
DBGHELP: LocatePDB-> Looking for c:\winnt\symbols.4.0\symbols\exe\ntoskrnlsym.pdb… file not found
DBGHELP: LocatePDB-> Looking for c:\winnt\symbols.4.0\exe\ntoskrnlsym.pdb… file not found
DBGHELP: LocatePDB-> Looking for c:\winnt\symbols.4.0\ntoskrnlsym.pdb… file not found
DBGHELP: LocatePDB-> Looking for ntoskrnlsym.pdb… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for c:\winnt\symbols\symbols\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for c:\winnt\symbols.4.0\symbols\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for c:\winnt\symbols\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for c:\winnt\symbols.4.0\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for c:\winnt\symbols\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for c:\winnt\symbols.4.0\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for ntoskrnlsym.dbg… file not found
DBGHELP: no symbols loaded
*************************************************************************
*** ***
*** ***
*** Your debugger is not using the correct symbols ***
*** ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** ***
*** ***
*************************************************************************
Symbol cputest!tmpstr not found.


examining all of the symbols for “cputest”, I get

kd> x cputest!*
f09bc240 cputest!imp
f09bc244 cputest!_imp__IoCreateSymbolicLink
f09bc248 cputest!_imp__IoCreateDevice
f09bc24c cputest!_imp__RtlInitUnicodeString
f09bc250 cputest!_imp__DbgPrint
f09bc254 cputest!_imp__IoDeleteDevice
f09bc258 cputest!_imp__sprintf
f09bc25c cputest!_imp__KeQuerySystemTime
f09bc260 cputest!_imp__KeTickCount
f09bc260 cputest!KeTickCount
f09bc264 cputest!_imp__IoDeleteSymbolicLink
f09bc268 cputest!ntoskrnl_NULL_THUNK_DATA
f09bc3d9 cputest!DriverEntry
f09bc9ad cputest!CpuTestOpen
f09bd274 cputest!CpuTestControl
f09bd2c3 cputest!CpuTestClose
f09bd340 cputest!CpuTestUnload
f09bd380 cputest!DbgPrint
f09bd3a0 cputest!_IMPORT_DESCRIPTOR_ntoskrnl
f09bd3b4 cputest!_NULL_IMPORT_DESCRIPTOR


I tried compileing with “/Zi” and got a v60.pdb file which I
renamed to cputest.pdb and placed it in the symbol path, but
that did not help.

Any help would be much appreciated.

Thanks,
Rich Besler

You need to generate a PDB file when you build. Then lcoals will work
fine for you.

-----Original Message-----
From: Rich Besler [mailto:xxxxx@brsc.com]
Sent: Thursday, September 28, 2000 1:27 PM
To: NT Developers Interest List
Subject: [ntdev] evaluation of local variable symbols

I’m new to this but have managed to get a test/development configuration
up and running. I’m debugging a sample driver (doesn’t talk to any
hardware) and all seems fine, except that I can’t seem to resolve symbol
information for local variables.

Configuration:

NT4.0 SP6
windbg 1.0.0006.0 (load from MS Sept. 24, and seems to be much better
than what I tried before)

Compiling the driver for C7 compatible debugging, “/Z7”

All symbol tables seem to load o.k. when I load the driver source, with
“!sym noisy” it ends up something like this





DBGHELP: codeview symbols loaded
DBGHELP: FindDebugInfoFileEx-> Looking for
c:\winnt\symbols\symbols\sys\mup.dbg… OK
DBGHELP: LoadCodeViewSymbols:
hProcess F0F0F0F0
mi 00A0B748
pCvData 02922CAC
dwSize 89d0
DBGHELP: codeview symbols loaded
DBGHELP: FindDebugInfoFileEx-> Looking for
c:\winnt\symbols\symbols\SYS\Cdfs.dbg… OK
DBGHELP: LoadCodeViewSymbols:
hProcess F0F0F0F0
mi 00A0BCA8
pCvData 0295DE54
dwSize 747c
DBGHELP: codeview symbols loaded
DBGHELP: FindExecutableImageEx-> Looking for C:\Program Files\Debugging
Tools for Windows\cputest.SYS… no file
DBGHELP: FindExecutableImageEx-> Searching c:\winnt\symbols for
cputest.SYS… found
DBGHELP: FindExecutableImageEx-> Looking for
c:\winnt\symbols\symbols\sys\cputest.sys… OK
DBGHELP: LoadCodeViewSymbols:
hProcess F0F0F0F0
mi 00A0C1F8
pCvData 02992200
dwSize 8dec
DBGHELP: codeview symbols loaded


the last symbols loaded are for my test driver “cputest”
next, I set a source breakpoint and go


kd> g
Breakpoint 0 hit
cputest!CpuTestOpen+c:
f09bc9b9 68e0c49bf0 push 0xf09bc4e0


on the test system, I call the driver and reach the breakpoint
in windbg on the development system, and all is well. When I try
the display the local variable “tmpstr” (or any local variable), I get
the following


kd> dt cputest!tmpstr
DBGHELP: FindExecutableImageEx-> Looking for C:\Program Files\Debugging
Tools for Windows\ntoskrnlsym… no file
DBGHELP: FindExecutableImageEx-> Searching c:\winnt\symbols for
ntoskrnlsym… no file
DBGHELP: FindExecutableImageEx-> Searching c:\winnt\symbols.4.0 for
ntoskrnlsym… no file
DBGHELP: FindDebugInfoFileEx-> Looking for
c:\winnt\symbols\symbols\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for
c:\winnt\symbols.4.0\symbols\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for
c:\winnt\symbols\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for
c:\winnt\symbols.4.0\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for
c:\winnt\symbols\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for
c:\winnt\symbols.4.0\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for ntoskrnlsym.dbg… file not
found
DBGHELP: FindExecutableImageEx-> Looking for C:\Program Files\Debugging
Tools for Windows\ntoskrnlsym… no file
DBGHELP: FindExecutableImageEx-> Searching c:\winnt\symbols for
ntoskrnlsym… no file
DBGHELP: FindExecutableImageEx-> Searching c:\winnt\symbols.4.0 for
ntoskrnlsym… no file
DBGHELP: LocatePDB-> Looking for
c:\winnt\symbols\symbols\exe\ntoskrnlsym.pdb… file not found
DBGHELP: LocatePDB-> Looking for c:\winnt\symbols\exe\ntoskrnlsym.pdb…
file not found
DBGHELP: LocatePDB-> Looking for c:\winnt\symbols\ntoskrnlsym.pdb…
file not found
DBGHELP: LocatePDB-> Looking for
c:\winnt\symbols.4.0\symbols\exe\ntoskrnlsym.pdb… file not found
DBGHELP: LocatePDB-> Looking for
c:\winnt\symbols.4.0\exe\ntoskrnlsym.pdb… file not found
DBGHELP: LocatePDB-> Looking for c:\winnt\symbols.4.0\ntoskrnlsym.pdb…
file not found
DBGHELP: LocatePDB-> Looking for ntoskrnlsym.pdb… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for
c:\winnt\symbols\symbols\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for
c:\winnt\symbols.4.0\symbols\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for
c:\winnt\symbols\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for
c:\winnt\symbols.4.0\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for
c:\winnt\symbols\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for
c:\winnt\symbols.4.0\ntoskrnlsym.dbg… file not found
DBGHELP: FindDebugInfoFileEx-> Looking for ntoskrnlsym.dbg… file not
found
DBGHELP: no symbols loaded
************************************************************************
*
***
***
***
***
*** Your debugger is not using the correct symbols
***
***
***
*** In order for this command to work properly, your symbol path
***
*** must point to .pdb files that have full type information.
***
***
***
*** Certain .pdb files (such as the public OS symbols) do not
***
*** contain the required information. Contact the group that
***
*** provided you with these symbols if you need this command to
***
*** work.
***
***
***
***
***
************************************************************************
*
Symbol cputest!tmpstr not found.


examining all of the symbols for “cputest”, I get

kd> x cputest!*
f09bc240 cputest!imp
f09bc244 cputest!_imp__IoCreateSymbolicLink
f09bc248 cputest!_imp__IoCreateDevice
f09bc24c cputest!_imp__RtlInitUnicodeString
f09bc250 cputest!_imp__DbgPrint
f09bc254 cputest!_imp__IoDeleteDevice
f09bc258 cputest!_imp__sprintf
f09bc25c cputest!_imp__KeQuerySystemTime
f09bc260 cputest!_imp__KeTickCount
f09bc260 cputest!KeTickCount
f09bc264 cputest!_imp__IoDeleteSymbolicLink
f09bc268 cputest!ntoskrnl_NULL_THUNK_DATA
f09bc3d9 cputest!DriverEntry
f09bc9ad cputest!CpuTestOpen
f09bd274 cputest!CpuTestControl
f09bd2c3 cputest!CpuTestClose
f09bd340 cputest!CpuTestUnload
f09bd380 cputest!DbgPrint
f09bd3a0 cputest!_IMPORT_DESCRIPTOR_ntoskrnl
f09bd3b4 cputest!_NULL_IMPORT_DESCRIPTOR


I tried compileing with “/Zi” and got a v60.pdb file which I
renamed to cputest.pdb and placed it in the symbol path, but
that did not help.

Any help would be much appreciated.

Thanks,
Rich Besler