I'm running the RC version of VS 2005 handed out at the PDC. I'm working on
something where seeing what's going on all the way down the stack would be
very handy. I'm using 2.0.50727 of the CLR, and whenever mscorwks.dll appears
on the stack, I can't see the entries (and everything gets out of whack on
the stack trace) because the version of the .pdb file that *appears* to match
the .dll is one day older, and I get an error message when I try to load
symbols from the .pdb file saying that it doesn't match the module.
Where can I get symbols for this dll (and probably others) that will match
and work correctly with the versions I have from the RC version of VS 2005?
Thanks.
What does symchk show you? If you are not familiar with it, symchk.exe
is a tool that MS ships as part of Windbg installation (or 'Debugging
Tools for Windows' officially). It allows you to verify and optionally
download symbols.
This shows how to use it (bottom of this page):
http://support.microsoft.com/default.aspx/kb/311503/EN-US/
More specifically, what is the result of doing the following:
[1] go to framework directory in a command shell (probably
c:\windows\Microsoft.NET\Framework/v2.0.50727)
[2] make sure symchk is on the PATH (or use full path to it)
[3] run 'symchk /v mscorwks.dll'
If you get an error or symchk cannot find the symbols from the MS
default symbol servers, they just may not be public (yet). But I
thought that the *.50727 symbols were public already...
Rog - 19 Oct 2005 18:59 GMT
Thanks for the tip: I ran symchk a few times following your instructions. If
the path from where symchk is, through a dir named "sym" into an area where
mscorwks.pdb seems to be cached is not there, I get the first type of output
(looks like a "not there" type of error). If I run symchk with the /u option,
I get the second type of output shown below. Does this mean the symbols are
not public yet?
Thanks!
The output of two symchk runs:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>"C:\Program Files\Debugging
Tools for Windows\symchk" /v /u mscorwks.dll
[SYMCHK] Searching for symbols to
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll in path SRV*C:\WI
NDOWS\SYMBOLS*http://msdl.microsoft.com/download/symbols
DBGHELP: Symbol Search Path:
SRV*C:\WINDOWS\SYMBOLS*http://msdl.microsoft.com/download/symbols
[SYMCHK] Using search path
"SRV*C:\WINDOWS\SYMBOLS*http://msdl.microsoft.com/download/symbols"
DBGHELP: No header for
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll. Searching for
image on disk
DBGHELP: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll - OK
SYMSRV:
C:\WINDOWS\SYMBOLS\mscorwks.pdb\DDA1962EA41247CDA3E5FE51EEF8AE872\mscorwks.pd_
error 0x570
DBGHELP: mscorwks - no symbols loaded
[SYMCHK] MODULE64 Info ----------------------
[SYMCHK] Struct size: 1672 bytes
[SYMCHK] Base: 0x79E70000
[SYMCHK] Image size: 5640192 bytes
[SYMCHK] Date: 0x43157039
[SYMCHK] Checksum: 0x0055b542
[SYMCHK] NumSyms: 0
[SYMCHK] SymType: SymNone
[SYMCHK] ModName: mscorwks
[SYMCHK] ImageName: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
[SYMCHK] LoadedImage:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
[SYMCHK] PDB: ""
[SYMCHK] CV: RSDS
[SYMCHK] CV DWORD: 0x53445352
[SYMCHK] CV Data: f:\binaries.x86ret\bin\i386\bbt\opt\mscorwks.pdb
[SYMCHK] PDB Sig: 0
[SYMCHK] PDB7 Sig: {00000000-0000-0000-0000-000000000000}
[SYMCHK] Age: 0
[SYMCHK] PDB Matched: TRUE
[SYMCHK] DBG Matched: TRUE
[SYMCHK] Line nubmers: FALSE
[SYMCHK] Global syms: FALSE
[SYMCHK] Type Info: FALSE
[SYMCHK] ------------------------------------
SymbolCheckVersion 0x00000001
Result 0x00010001
DbgFilename mscorwks.dbg
DbgTimeDateStamp 0x00000000
DbgSizeOfImage 0x00000000
DbgChecksum 0x00000000
PdbFilename f:\binaries.x86ret\bin\i386\bbt\opt\mscorwks.pdb
PdbSignature 0x00000000
PdbDbiAge 0x00000000
[SYMCHK] [ 0x00000000 - 0x00010001 ] Checked
"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll"
SYMCHK: mscorwks.dll FAILED - mscorwks.pdb mismatched or not found
SYMCHK: FAILED files = 1
SYMCHK: PASSED + IGNORED files = 0
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>"C:\Program Files\Debugging
Tools for Windows\symchk" /v /u mscorwks.dll
[SYMCHK] Searching for symbols to
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll in path SRV*C:\WI
NDOWS\SYMBOLS*http://msdl.microsoft.com/download/symbols
DBGHELP: Symbol Search Path:
SRV*C:\WINDOWS\SYMBOLS*http://msdl.microsoft.com/download/symbols
[SYMCHK] Using search path
"SRV*C:\WINDOWS\SYMBOLS*http://msdl.microsoft.com/download/symbols"
DBGHELP: No header for
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll. Searching for
image on dis
k
DBGHELP: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll - OK
DBGHELP: C:\Program Files\Debugging Tools for
Windows\sym\mscorwks.pdb\DDA1962EA41247CDA3E5FE51EEF8AE872\mscor
wks.pdb - E_PDB_CORRUPT
DBGHELP: mscorwks - no symbols loaded
[SYMCHK] MODULE64 Info ----------------------
[SYMCHK] Struct size: 1672 bytes
[SYMCHK] Base: 0x79E70000
[SYMCHK] Image size: 5640192 bytes
[SYMCHK] Date: 0x43157039
[SYMCHK] Checksum: 0x0055b542
[SYMCHK] NumSyms: 0
[SYMCHK] SymType: SymNone
[SYMCHK] ModName: mscorwks
[SYMCHK] ImageName: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
[SYMCHK] LoadedImage:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
[SYMCHK] PDB: ""
[SYMCHK] CV: RSDS
[SYMCHK] CV DWORD: 0x53445352
[SYMCHK] CV Data: f:\binaries.x86ret\bin\i386\bbt\opt\mscorwks.pdb
[SYMCHK] PDB Sig: 0
[SYMCHK] PDB7 Sig: {00000000-0000-0000-0000-000000000000}
[SYMCHK] Age: 0
[SYMCHK] PDB Matched: TRUE
[SYMCHK] DBG Matched: TRUE
[SYMCHK] Line nubmers: FALSE
[SYMCHK] Global syms: FALSE
[SYMCHK] Type Info: FALSE
[SYMCHK] ------------------------------------
SymbolCheckVersion 0x00000001
Result 0x00010001
DbgFilename mscorwks.dbg
DbgTimeDateStamp 0x00000000
DbgSizeOfImage 0x00000000
DbgChecksum 0x00000000
PdbFilename f:\binaries.x86ret\bin\i386\bbt\opt\mscorwks.pdb
PdbSignature 0x00000000
PdbDbiAge 0x00000000
[SYMCHK] [ 0x00000000 - 0x00010001 ] Checked
"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll"
SYMCHK: mscorwks.dll FAILED - mscorwks.pdb mismatched or not found
SYMCHK: FAILED files = 1
SYMCHK: PASSED + IGNORED files = 0
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>
> What does symchk show you? If you are not familiar with it, symchk.exe
> is a tool that MS ships as part of Windbg installation (or 'Debugging
[quoted text clipped - 16 lines]
> default symbol servers, they just may not be public (yet). But I
> thought that the *.50727 symbols were public already...