Here is some additional information:
Using the WinDbg dialog to set symbol path, I set the path the location of
my project's .PDB file, and also to C:\Windows\Symbols, where I installed
the OS symbols I downloaded for Win Xp SP2. (My development computer does
not have Internet access, so I cannot use the on-line symbol server).
When using .reload, even from a fresh compile, I get **** WARNING : Unable
to verify checksum for MyApplication.exe, and when using !sym noisy, DBGHELP
reports that my MyApplication is not source indexed.
Thanks.
You email does not contain too many specifics.
What module are you looking at the source for?
What does the !sym noisy output show when this module is loaded?
Does it say that if found symbols for the module in question?
If not, then what was the output of !sym noisy? Was it a simple "file
not found"?
If symbols were found for the module, what kind of symbolic information
was in the pdb? You can test the module's symbolic information from
within the debugger with the !lmi command.
Since I am not personally familiar with VC6, I cannot say what the
implications are for a "Release compile". You should read the
documentation and find out. If such a compile does not produce a pdb
with type information, then you need to change your compiler options.
Source indexing is unrelated to symbols so don't worry about it.
.pat styles [microsoft]
I tried to defer too many specifics until the first contact.
Background:
I am in the process of porting a mature project from VC6 to VS2005, but
before I can do that I must isolate and correct a protection fault. (I don't
want to risk masking over a real problem when I port). The protection fault
occurs in the Release compile when the Project Settings | C++ Code
Generation | Use Runtime Library field is set to "Multithreaded", but the
protection fault does not occur when this field is set to "Debug
Multithreaded". Before opening a MSDN incident, I want to at least get
WinDbg to work in a sample application, as I am sure that we are going to
need it.
Here are the answers to your questions (not in the order order you asked
them, however).
(I promise not to worry about source indexing).
The project settings for the "Release compile" for the sample application
that I am working with to just to get WinDbg to work 1) Turns off
optimizations, 2) generates debug information in Microsoft format, and 3)
produces a .PDB file located in the C:\AppDev\MyApplication\Release folder.
In answer to your remaining questions, and in order to answer completely, I
am pasting below the verbose output from WinDbg. First I loaded the
Workspace. Then I turned on the !sym noisy help. Then I used .reload for a
report. Then, as per your direction, I used !lmi. FYI, I listed some WinDbg
Workspace fields below.
As per my original question, when I run to a breakpoint in my C++ source and
hover over a variable, WinDbg pops up the warning that my debugger is not
using the correct symbols.
*** Start of Verbose Log ***
Microsoft (R) Windows Debugger Version 6.9.0003.113 X86
Copyright (c) Microsoft Corporation. All rights reserved.
CommandLine: C:\AppDev\MyApplication\Release\MyApplication.exe
Symbol search path is: C:\AppDev\MyApplication\Release;C:\Symbols
Executable search path is: C:\AppDev\Gixw\Release
ModLoad: 00400000 00546000 MyApplication.exe
ModLoad: 7c900000 7c9b0000 ntdll.dll
ModLoad: 7c800000 7c8f4000 C:\WINDOWS\system32\kernel32.dll
ModLoad: 5ed00000 5edcc000 C:\WINDOWS\system32\OPENGL32.dll
ModLoad: 77c10000 77c68000 C:\WINDOWS\system32\msvcrt.dll
ModLoad: 77dd0000 77e6b000 C:\WINDOWS\system32\ADVAPI32.dll
ModLoad: 77e70000 77f01000 C:\WINDOWS\system32\RPCRT4.dll
ModLoad: 77f10000 77f56000 C:\WINDOWS\system32\GDI32.dll
ModLoad: 77d40000 77dd0000 C:\WINDOWS\system32\USER32.dll
ModLoad: 68b20000 68b40000 C:\WINDOWS\system32\GLU32.dll
ModLoad: 73760000 737a9000 C:\WINDOWS\system32\DDRAW.dll
ModLoad: 73bc0000 73bc6000 C:\WINDOWS\system32\DCIMAN32.dll
ModLoad: 77c00000 77c08000 C:\WINDOWS\system32\VERSION.dll
ModLoad: 763b0000 763f9000 C:\WINDOWS\system32\comdlg32.dll
ModLoad: 77f60000 77fd6000 C:\WINDOWS\system32\SHLWAPI.dll
ModLoad: 5d090000 5d127000 C:\WINDOWS\system32\COMCTL32.dll
ModLoad: 7c9c0000 7d1d4000 C:\WINDOWS\system32\SHELL32.dll
ModLoad: 73000000 73026000 C:\WINDOWS\system32\WINSPOOL.DRV
(954.958): Break instruction exception - code 80000003 (first chance)
eax=00241eb4 ebx=7ffde000 ecx=00000000 edx=00000001 esi=00241f48
edi=00241eb4
eip=7c901230 esp=0012fb20 ebp=0012fc94 iopl=0 nv up ei pl nz na po
nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000
efl=00000202
ntdll!DbgBreakPoint:
7c901230 cc int 3
0:000> !sym noisy
noisy mode - symbol prompts on
0:000> .reload
Reloading current modules
.................
DBGHELP: C:\AppDev\MyApplication\Release\ntdll.pdb - file not found
DBGHELP: C:\AppDev\MyApplication\Release\dll\ntdll.pdb - file not found
DBGHELP: C:\AppDev\MyApplication\Release\symbols\dll\ntdll.pdb - file not
found
DBGHELP: C:\Symbols\ntdll.pdb - file not found
DBGHELP: ntdll - public symbols
C:\Symbols\dll\ntdll.pdb
.
*** WARNING: Unable to verify checksum for MyApplication.exe
DBGHELP: MyApplication - private symbols & lines
C:\AppDev\MyApplication\Release\MyApplication.pdb
0:000> !lmi C:\AppDev\MyApplication\Release\MyApplication.pdb
Loaded Module Info: [c:\appdev\MyApplication\release\MyApplication.pdb]
Module: MyApplication
Base Address: 00400000
Image Name: MyApplication.exe
Machine Type: 332 (I386)
Time Stamp: 48bd7e04 Tue Sep 02 13:55:16 2008
Size: 146000
CheckSum: 0
Characteristics: 10e
Debug Data Dirs: Type Size VA Pointer
CODEVIEW 39, 0, 140000 [Debug data not mapped] - Can't
validate symbols, if present.
Image Type: FILE - Image read successfully from debugger.
C:\AppDev\MyApplication\Release\MyApplication.exe
Symbol Type: PDB - Symbols loaded successfully from symbol search
path.
C:\AppDev\MyApplication\Release\MyApplication.pdb
Compiler: C++ - front end [12.0 bld 9782] - back end [12.0 bld 9782]
Load Report: private symbols & lines, not source indexed
C:\AppDev\MyApplication\Release\MyApplication.pdb
*** End of Verbose Log ***
Some of my WinDbg Workspace fields:
The contents of WindDbg File | Symbol Search Path is
C:\AppDev\MyApplication\Release;C:\Symbols
The contents of WindDbg File | Source File Path is SRV*;C:\Program
Files\Microsoft Visual Studio\VC98\MFC\SRC
The contents of WindDbg File | Image File Path is
C:\AppDev\MyApplication\Release
The environment variable _NT_SYMBOL_FILE_PATH is not defined
"pat styles [microsoft]" <pat.s...@microsoft.com> wrote in message
news:48BD5DB7...@microsoft.com...
> The project settings for the "Release compile" for the sample application
> that I am working with to just to get WinDbg to work 1) Turns off
> optimizations, 2) generates debug information in Microsoft format, and 3)
> produces a .PDB file located in the C:\AppDev\MyApplication\Release folder.
You need to enable debug information in both the compiler options
(/Zi) and the linker options (/DEBUG). Perhaps these were your 2)
and 3) but I'm not sure.
Then, to get rid of the "Unable to verify checksum" message,
you can add /RELEASE to the linker options. VC6 does not have
a checkbox for it, so type it in. Having /RELEASE and /DEBUG
in the same command line looks a bit odd but works fine.
If you intend to distribute the files built with debug symbols,
you may also want to give /OPT:REF,ICF to the linker in order to
reduce the *.EXE size. /OPT:REF is enabled by default when debug
information is not generated.
I experimented using !analyze -v when the debugger stopped at its first int
3, and pasted the verbose output at the bottom of this reply. The DBGHELP's
indicate to me that the debugger is looking in the wrong places for the Win
Xp .pdb files, which I had downloaded from Microsoft and installed to the
C:\Symbols directory. I believe that I am not telling WinDbg how to access
these files correctly, and since my develoment system is isolated from the
Internet I cannot use the Microsoft example verbatim (The Microsoft example
directs WindDbg to its online symbol server). So - I think if someone can
direct me how to access the system .pdb files (which are located in their
respective subdirectories of my local C:\Symbols directory) I will be
another step closer to getting WinDbg functional.
"Kalle Olavi Niemitalo" <k...@iki.fi> wrote in message
news:87bpz6j...@Astalo.kon.iki.fi...
*** Beginning of Verbose Log ***
The debuggee is ready to run
0:000> .restart /f
CommandLine: C:\AppDev\MyApplication\Release\MyApplication.exe
DBGHELP: Symbol Search Path: C:\AppDev\MyApplication\Release;C:\Symbols
Symbol search path is: C:\AppDev\MyApplication\Release;C:\Symbols
Executable search path is: C:\AppDev\Gixw\Release
DBGHELP: SharedUserData - virtual symbol module
ModLoad: 00400000 004b5000 MyApplication.exe
ModLoad: 7c900000 7c9b0000 ntdll.dll
ModLoad: 7c800000 7c8f4000 C:\WINDOWS\system32\kernel32.dll
ModLoad: 5ed00000 5edcc000 C:\WINDOWS\system32\OPENGL32.dll
ModLoad: 77c10000 77c68000 C:\WINDOWS\system32\msvcrt.dll
ModLoad: 77dd0000 77e6b000 C:\WINDOWS\system32\ADVAPI32.dll
ModLoad: 77e70000 77f01000 C:\WINDOWS\system32\RPCRT4.dll
ModLoad: 77f10000 77f56000 C:\WINDOWS\system32\GDI32.dll
ModLoad: 77d40000 77dd0000 C:\WINDOWS\system32\USER32.dll
ModLoad: 68b20000 68b40000 C:\WINDOWS\system32\GLU32.dll
ModLoad: 73760000 737a9000 C:\WINDOWS\system32\DDRAW.dll
ModLoad: 73bc0000 73bc6000 C:\WINDOWS\system32\DCIMAN32.dll
ModLoad: 77c00000 77c08000 C:\WINDOWS\system32\VERSION.dll
ModLoad: 763b0000 763f9000 C:\WINDOWS\system32\comdlg32.dll
ModLoad: 77f60000 77fd6000 C:\WINDOWS\system32\SHLWAPI.dll
ModLoad: 5d090000 5d127000 C:\WINDOWS\system32\COMCTL32.dll
ModLoad: 7c9c0000 7d1d4000 C:\WINDOWS\system32\SHELL32.dll
ModLoad: 73000000 73026000 C:\WINDOWS\system32\WINSPOOL.DRV
(91c.920): Break instruction exception - code 80000003 (first chance)
eax=00241eb4 ebx=7ffdb000 ecx=00000000 edx=00000001 esi=00241f48
edi=00241eb4
eip=7c901230 esp=0012fb20 ebp=0012fc94 iopl=0 nv up ei pl nz na po
nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000
efl=00000202
DBGHELP: C:\AppDev\MyApplication\Release\ntdll.pdb - file not found
DBGHELP: C:\AppDev\MyApplication\Release\dll\ntdll.pdb - file not found
DBGHELP: C:\AppDev\MyApplication\Release\symbols\dll\ntdll.pdb - file not
found
DBGHELP: C:\Symbols\ntdll.pdb - file not found
DBGHELP: ntdll - public symbols
C:\Symbols\dll\ntdll.pdb
ntdll!DbgBreakPoint:
7c901230 cc int 3
0:000> !analyze -v
*******************************************************************************
*
*
* Exception Analysis
*
*
*
*******************************************************************************
DBGHELP: C:\Program Files\Debugging Tools for Windows\MyApplication.exe -
file not found
DBGHELP: MyApplication.exe not found in C:\AppDev\Gixw\Release
DBGHELP: C:\AppDev\MyApplication\Release\MyApplication.exe - OK
DBGHELP: C:\Program Files\Debugging Tools for Windows\ntdll.dll - file not
found
DBGHELP: ntdll.dll not found in C:\AppDev\Gixw\Release
DBGHELP: C:\Program Files\Debugging Tools for Windows\ntdll.dll - file not
found
DBGHELP: ntdll.dll not found in C:\AppDev\Gixw\Release
DBGHELP: C:\Program Files\Debugging Tools for Windows\ntdll.dll - file not
found
DBGHELP: ntdll.dll not found in C:\AppDev\Gixw\Release
DBGHELP: C:\Program Files\Debugging Tools for Windows\ntdll.dll - file not
found
DBGHELP: ntdll.dll not found in C:\AppDev\Gixw\Release
DBGHELP: C:\AppDev\MyApplication\Release\kernel32.pdb - file not found
DBGHELP: C:\AppDev\MyApplication\Release\dll\kernel32.pdb - file not found
DBGHELP: C:\AppDev\MyApplication\Release\symbols\dll\kernel32.pdb - file not
found
DBGHELP: C:\Symbols\kernel32.pdb - file not found
DBGHELP: kernel32 - public symbols
C:\Symbols\dll\kernel32.pdb
Matched: 7c8856f4 kernel32!BasepAppCertDllsList = <no type information>
Matched: 7c8838d0 kernel32!BasepAppCertDllsList = <no type information>
DBGHELP: C:\AppDev\MyApplication\Release\user32.pdb - file not found
DBGHELP: C:\AppDev\MyApplication\Release\dll\user32.pdb - file not found
DBGHELP: C:\AppDev\MyApplication\Release\symbols\dll\user32.pdb - file not
found
DBGHELP: C:\Symbols\user32.pdb - file not found
DBGHELP: USER32 - public symbols
C:\Symbols\dll\user32.pdb
DBGHELP: C:\Program Files\Debugging Tools for Windows\MyApplication.exe -
file not found
DBGHELP: MyApplication.exe not found in C:\AppDev\Gixw\Release
DBGHELP: C:\AppDev\MyApplication\Release\MyApplication.exe - OK
DBGHELP: C:\Program Files\Debugging Tools for Windows\ntdll.dll - file not
found
DBGHELP: ntdll.dll not found in C:\AppDev\Gixw\Release
DBGHELP: C:\Program Files\Debugging Tools for Windows\ntdll.dll - file not
found
DBGHELP: ntdll.dll not found in C:\AppDev\Gixw\Release
DBGHELP: C:\Program Files\Debugging Tools for Windows\ntdll.dll - file not
found
DBGHELP: ntdll.dll not found in C:\AppDev\Gixw\Release
DBGHELP: C:\Program Files\Debugging Tools for Windows\ntdll.dll - file not
found
DBGHELP: ntdll.dll not found in C:\AppDev\Gixw\Release
*************************************************************************
*** ***
*** ***
*** 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. ***
*** ***
*** Type referenced: kernel32!pNlsUserInfo ***
*** ***
*************************************************************************
*************************************************************************
*** ***
*** ***
*** 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. ***
*** ***
*** Type referenced: kernel32!pNlsUserInfo ***
*** ***
*************************************************************************
FAULTING_IP:
ntdll!DbgBreakPoint+0
7c901230 cc int 3
EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 7c901230 (ntdll!DbgBreakPoint)
ExceptionCode: 80000003 (Break instruction exception)
ExceptionFlags: 00000000
NumberParameters: 3
Parameter[0]: 00000000
Parameter[1]: 00000000
Parameter[2]: 00000001
FAULTING_THREAD: 00000920
PROCESS_NAME: MyApplication.exe
ERROR_CODE: (NTSTATUS) 0x80000003 - {EXCEPTION} Breakpoint A breakpoint
has been reached.
NTGLOBALFLAG: 70
APPLICATION_VERIFIER_FLAGS: 0
ADDITIONAL_DEBUG_TEXT: Followup set via attribute from Frame ffffffff on
thread ffffffff
BUGCHECK_STR: APPLICATION_FAULT_LOADER_INIT_FAILURE_80000003
PRIMARY_PROBLEM_CLASS: LOADER_INIT_FAILURE_80000003
DEFAULT_BUCKET_ID: LOADER_INIT_FAILURE_80000003
LAST_CONTROL_TRANSFER: from 7c93edc0 to 7c901230
STACK_TEXT:
0012fb1c 7c93edc0 7ffdf000 7ffdb000 00000000 ntdll!DbgBreakPoint
0012fc94 7c921639 0012fd30 7c900000 0012fce0
ntdll!LdrpInitializeProcess+0xffa
0012fd1c 7c90eac7 0012fd30 7c900000 00000000 ntdll!_LdrpInitialize+0x183
00000000 00000000 00000000 00000000 00000000 ntdll!KiUserApcDispatcher+0x7
SYMBOL_NAME: MyApplication.exe!Unknown
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: MyApplication
IMAGE_NAME: MyApplication.exe
DEBUG_FLR_IMAGE_TIMESTAMP: 48bdc833
STACK_COMMAND: dt ntdll!LdrpLastDllInitializer BaseDllName ; dt
ntdll!LdrpFailureData ; ~0s ; kb
FAILURE_BUCKET_ID:
LOADER_INIT_FAILURE_80000003_80000003_MyApplication.exe!Unknown
BUCKET_ID:
APPLICATION_FAULT_LOADER_INIT_FAILURE_80000003_MyApplication.exe!Unknown
Followup: MachineOwner
---------
*** End of Verbose Log ***
Here are the compiler options
/nologo /MT /W3 /GX /Zi /Od /I "\IxAppCom\\" /I "\AppDev\AppCom\\" /D
"WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /FR"Release/"
/Fp"Release/MyApplication.pch" /Yu"stdafx.h" /Fo"Release/" /Fd"Release/" /FD
/c
Here are the linker options
opengl32.lib glu32.lib glaux.lib version.lib /nologo /subsystem:windows
/incremental:no /pdb:"Release/MyApplication.pdb"
/map:"Release/MyApplication.map" /debug /machine:I386
/out:"Release/MyApplication.exe" /RELEASE /DEBUG
The documentation has extensive help on setting the symbol path. Look
up "symbols" in the help index.
You can set the symbol path through an environment variable, the
.sympath command, or directly into the workspace using the GUI.
.pat styles [microsoft]
I have been unable to decipher the extensive help on symbols with regard to
my very simple application, which is the reason why I am asking for help as
a last resort. (I have been using .sympath to experiment, as well as the
GUI, and setting _NT_SYMBOL_PATH). This shouldn't be that hard, and I am
almost embarassed to say how much time I had spent with the docs and online
sources, so I was somwhat discouraged when you advised me to read on
"symbols"- which was the first thing that I had done before asking for help.
I am hoping that you will advise me exactly how to make WinDbg read the
correct symbols, and the syntax to use in my simplified case.
My Application image (MyApplication.exe) and the .PDM file for the
application is located here:
C:\AppDev\MyApplication\Release
The Windows Xp SP2 .sym and .PDM files installed by the Microsoft
installation program are in subdirectories of this location:
C:\Symbols
"pat styles [microsoft]" <pat.s...@microsoft.com> wrote in message
news:48BEB082...@microsoft.com...
I am posting this subsquent to my first reply.
I was able to set up a symbol server using SymStore, and SymStore reports
verify my additions of the target .PDB file pointers as well as the Win Xp
SP2 additions. I can access the symbol server through WinDbg, but I am still
getting the same errors.
When I trace through the code I can see what looks to be a properly
annotated call stack, but when I use !analyze -v, it still tells me that I
am not using the correct symbols, as it does in the pop up when I hover the
cursor over a variable in a source Window.
"pat styles [microsoft]" <pat.s...@microsoft.com> wrote in message
news:48BEB082...@microsoft.com...
I am afraid I cannot tell you how to set your symbol path. How to set
up the path is a thing that is dependent upon circumstances on your
machine. All I can do is make suggestions. That is what the help
section is for - to give you an understanding of how it works. Also,
you should read the "DBGHELP:" spew carefully and see where the debugger
is trying to load symbols from. That can be very helpful. Your
debugger is trying to load symbols from here...
C:\AppDev\MyApplication\Release;C:\Symbols
Well, apparently, you have not put the matching symbols in either
location. Also, it looks like you are trying to run the program from
another separate location. You can see that in the spew. Why don't you
make the directory in which the application is be the CDW and run from
there?
That said, your symbol path should contain elements that point to the
places where you have your symbols. One obvious place is wherever the
pdbs for your program are...
.sympath c:\MyPdbsAreHere
Then you might add the system symbols that you can get from our web site...
.sympath
c:\MyPdbsAreHere;srv*c:\MyPdbsAreHere*http://msdl.microsoft.com/download/symbols
This will download symbols from our web site and put them where your
symbols are.
After that, I don't know what to offer to you. Are you copying your
symbols to a known location and putting that location into the symbol path?
I notice you refer to ".PDM" and ".sym" files. I hope these are typos.
I have never heard of a .pdm file and .sym files are a relic of the
old 16 bit Windows. Neither would apply to you.
I have no idea why you are setting up a symbol server if you can't even
get regular symbol loading to work. That seems like you are adding
unneeded complexity. Symbol Server is an advanced system for putting
the symbols from multiple builds into a single known location. I think
you might want to leave that be until later.
For good reasons that are beyond the scope of this group, our development
computers are physically disconnected from the Internet. Setting up the
symbol server to point to the Microsoft web site only downloads symbols on
demand, so (as far as I can tell) I can't just download all the symbols
after setting .sympath from an isolated computer, disconnect from the
Internet, and then manually copy the symbol folder over to our development
network. I think that WinDbg is finding the .PDB files on my local symbol
server (I made a typo saying "PDM", and the only reason that I mentioned
".sym" is because the offline Microsoft installer for the WinXpSP2 symbols
made a folder entitled "16bit", and put a bunch of .sym's there), and I may
have some questions about the symbol server pertaining to why WinDbg looks
there for system .dll's as well as .pdb's, but for now I just want to get to
the bottom of the Symbol descrepency.
In an attempt not to discourage the help that I need, I set up a computer
outside our development network with a fresh install of Windows Xp SP2 only
for the purpose of resolving the symbol descrepency problem with the OS.
This computer is connected to the Internet.
To eliminate the variable of using VC6, and the variable setting the symbol
path to my executable correctly, I am now simply trying to load
"C:\Windows\system32\cmd.exe". I am following your instructions exactly,
except I used the name "C:\PdbSymbols" instead of the name
"C:\MyPdbsAreHere" for the Symbols folder. So my symbol file search path is
exactly as you prescribed:
c:\PdbSymbols;srv*c:\PdbsSymbols*http://msdl.microsoft.com/download/symbols
On my first try, the online symbol server made several subfolders in my
C:\PdbSymbols folder, but it did NOT make a subfolder for cmd.pdb. For this
reason, I copied cmd.pdb (from the offline installation folder that the
Microsoft installer had made) to the C:\PdbSymbols folder.
Then I ran the same experiment, listed below in a Verbose copy. !analyze -v
still reports that I am not using the correct symbols.
Best regards,
AVee
*** Beginning of Verbose Log ***
CommandLine: C:\WINDOWS\SYSTEM32\cmd.exe
Symbol search path is:
c:\PdbSymbols;srv*c:\PdbsSymbols*http://msdl.microsoft.com/download/symbols;srv*\\ten\symserver*
Executable search path is: c:\Windows\;C:\WINDOWS\SYSTEM32
ModLoad: 4ad00000 4ad61000 cmd.exe
ModLoad: 7c900000 7c9b0000 ntdll.dll
ModLoad: 7c800000 7c8f4000 C:\WINDOWS\system32\kernel32.dll
ModLoad: 77c10000 77c68000 C:\WINDOWS\system32\msvcrt.dll
ModLoad: 77d40000 77dd0000 C:\WINDOWS\system32\USER32.dll
ModLoad: 77f10000 77f56000 C:\WINDOWS\system32\GDI32.dll
(37c.228): Break instruction exception - code 80000003 (first chance)
eax=00251eb4 ebx=7ffd8000 ecx=00000007 edx=00000080 esi=00251f48
edi=00251eb4
eip=7c901230 esp=0013fb20 ebp=0013fc94 iopl=0 nv up ei pl nz na po
nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000
efl=00000202
ntdll!DbgBreakPoint:
7c901230 cc int 3
0:000> !sym noisy
noisy mode - symbol prompts on
0:000> .restart /f
CommandLine: C:\WINDOWS\SYSTEM32\cmd.exe
DBGHELP: Symbol Search Path:
c:\PdbSymbols;srv*c:\PdbsSymbols*http://msdl.microsoft.com/download/symbols;srv*\\ten\symserver*
Symbol search path is:
c:\PdbSymbols;srv*c:\PdbsSymbols*http://msdl.microsoft.com/download/symbols;srv*\\ten\symserver*
Executable search path is: c:\Windows\;C:\WINDOWS\SYSTEM32
DBGHELP: SharedUserData - virtual symbol module
ModLoad: 4ad00000 4ad61000 cmd.exe
ModLoad: 7c900000 7c9b0000 ntdll.dll
ModLoad: 7c800000 7c8f4000 C:\WINDOWS\system32\kernel32.dll
ModLoad: 77c10000 77c68000 C:\WINDOWS\system32\msvcrt.dll
ModLoad: 77d40000 77dd0000 C:\WINDOWS\system32\USER32.dll
ModLoad: 77f10000 77f56000 C:\WINDOWS\system32\GDI32.dll
(1a0.768): Break instruction exception - code 80000003 (first chance)
eax=00251eb4 ebx=7ffdf000 ecx=00000007 edx=00000080 esi=00251f48
edi=00251eb4
eip=7c901230 esp=0013fb20 ebp=0013fc94 iopl=0 nv up ei pl nz na po
nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000
efl=00000202
DBGHELP: ntdll - public symbols
c:\PdbSymbols\ntdll.pdb\36515FB5D04345E491F672FA2E2878C02\ntdll.pdb
ntdll!DbgBreakPoint:
7c901230 cc int 3
0:000> !analyze -v
*******************************************************************************
*
*
* Exception Analysis
*
*
*
*******************************************************************************
DBGHELP: C:\Program Files\Debugging Tools for Windows (x86)\ntdll.dll - file
not found
DBGHELP: c:\Windows\SYSTEM32\ntdll.dll - OK
DBGHELP: c:\Windows\SYSTEM32\ntdll.dll found
DBGHELP: kernel32 - public symbols
c:\PdbSymbols\kernel32.pdb\FB334FB28FA34128BDE9229285BE4C2F2\kernel32.pdb
Matched: 7c8856f4 kernel32!BasepAppCertDllsList = <no type information>
Matched: 7c8838d0 kernel32!BasepAppCertDllsList = <no type information>
DBGHELP: USER32 - public symbols
c:\PdbSymbols\user32.pdb\036A117A6A5C43DE835AE71302E905042\user32.pdb
DBGHELP: C:\Program Files\Debugging Tools for Windows (x86)\ntdll.dll - file
not found
DBGHELP: c:\Windows\SYSTEM32\ntdll.dll - OK
DBGHELP: c:\Windows\SYSTEM32\ntdll.dll found
Parameter[1]: 00000007
Parameter[2]: 00000080
FAULTING_THREAD: 00000768
PROCESS_NAME: cmd.exe
ERROR_CODE: (NTSTATUS) 0x80000003 - {EXCEPTION} Breakpoint A breakpoint
has been reached.
NTGLOBALFLAG: 70
APPLICATION_VERIFIER_FLAGS: 0
ADDITIONAL_DEBUG_TEXT: Followup set via attribute from Frame ffffffff on
thread ffffffff
BUGCHECK_STR: APPLICATION_FAULT_LOADER_INIT_FAILURE_80000003
PRIMARY_PROBLEM_CLASS: LOADER_INIT_FAILURE_80000003
DEFAULT_BUCKET_ID: LOADER_INIT_FAILURE_80000003
LAST_CONTROL_TRANSFER: from 7c93edc0 to 7c901230
STACK_TEXT:
0013fb1c 7c93edc0 7ffde000 7ffdf000 00000000 ntdll!DbgBreakPoint
0013fc94 7c921639 0013fd30 7c900000 0013fce0
ntdll!LdrpInitializeProcess+0xffa
0013fd1c 7c90eac7 0013fd30 7c900000 00000000 ntdll!_LdrpInitialize+0x183
00000000 00000000 00000000 00000000 00000000 ntdll!KiUserApcDispatcher+0x7
SYMBOL_NAME: cmd.exe!Unknown
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: cmd
IMAGE_NAME: cmd.exe
DEBUG_FLR_IMAGE_TIMESTAMP: 41107ebe
STACK_COMMAND: dt ntdll!LdrpLastDllInitializer BaseDllName ; dt
ntdll!LdrpFailureData ; ~0s ; kb
FAILURE_BUCKET_ID: LOADER_INIT_FAILURE_80000003_80000003_cmd.exe!Unknown
BUCKET_ID: APPLICATION_FAULT_LOADER_INIT_FAILURE_80000003_cmd.exe!Unknown
Followup: MachineOwner
---------
*** End of Verbose Log ***
"pat styles [microsoft]" <pat.s...@microsoft.com> wrote in message
news:48C17573...@microsoft.com...
I am following your instructions exactly, I have pasted below the Verbose
output and I am still getting a symbol descrepency.
My Symbol path, pasted here from the GUI File | Symbol File Path dialog is
this (cooroborated in the Verbose Log):
c:\PdbSymbols;srv*c:\PdbSymbols*http://msdl.microsoft.com/download/symbols;srv*\\ten\symserver*
A have manually copied the Microsoft generated cmd.pdb to C:\PdbSymbols.
I cannot explain why SYMSERV reports (shown below in the Verbose Log) that
it can't create the folder,
c:\PdbSymbols\cmd.pdb\CF1A48FBB97F48138C74389FD532EFA32\cmd.pdb
I cannot explain why WinDbg created C:\Program Files\Debugging Tools for
Windows (x86)\sym\cmd.pdb\CF1A48FBB97F48138C74389FD532EFA32\cmd.pdb, but
apparently from the .lm spew (shown below in the Verbose Log), WinDbg is
finding cmd.pdb there and using it.
I am hoping that you can use this simplified example to help me resolve
descrepency that is still being reported by !analyze -v.
Best regards,
AVee
*** Begining of Verbose Log ***
Microsoft (R) Windows Debugger Version 6.9.0003.113 X86
Copyright (c) Microsoft Corporation. All rights reserved.
CommandLine: C:\WINDOWS\SYSTEM32\cmd.exe
Symbol search path is:
c:\PdbSymbols;srv*c:\PdbSymbols*http://msdl.microsoft.com/download/symbols;srv*\\ten\symserver*
Executable search path is: c:\Windows\;C:\WINDOWS\SYSTEM32
ModLoad: 4ad00000 4ad61000 cmd.exe
ModLoad: 7c900000 7c9b0000 ntdll.dll
ModLoad: 7c800000 7c8f4000 C:\WINDOWS\system32\kernel32.dll
ModLoad: 77c10000 77c68000 C:\WINDOWS\system32\msvcrt.dll
ModLoad: 77d40000 77dd0000 C:\WINDOWS\system32\USER32.dll
ModLoad: 77f10000 77f56000 C:\WINDOWS\system32\GDI32.dll
(330.530): Break instruction exception - code 80000003 (first chance)
eax=00251eb4 ebx=7ffdf000 ecx=00000007 edx=00000080 esi=00251f48
edi=00251eb4
eip=7c901230 esp=0013fb20 ebp=0013fc94 iopl=0 nv up ei pl nz na po
nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000
efl=00000202
ntdll!DbgBreakPoint:
7c901230 cc int 3
0:000> !sym noisy
noisy mode - symbol prompts on
0:000> .reload /f cmd.exe
SYMSRV: c:\PdbSymbols\cmd.pdb\CF1A48FBB97F48138C74389FD532EFA32\cmd.pdb not
found
SYMSRV: Can't create
c:\PdbSymbols\cmd.pdb\CF1A48FBB97F48138C74389FD532EFA32\cmd.pdb
The system cannot find the file specified.
DBGHELP: cmd - public symbols
C:\Program Files\Debugging Tools for Windows
(x86)\sym\cmd.pdb\CF1A48FBB97F48138C74389FD532EFA32\cmd.pdb
0:000> lm
start end module name
4ad00000 4ad61000 cmd (pdb symbols) C:\Program
Files\Debugging Tools for Windows
(x86)\sym\cmd.pdb\CF1A48FBB97F48138C74389FD532EFA32\cmd.pdb
77c10000 77c68000 msvcrt (deferred)
77d40000 77dd0000 USER32 (deferred)
77f10000 77f56000 GDI32 (deferred)
7c800000 7c8f4000 kernel32 (deferred)
7c900000 7c9b0000 ntdll (pdb symbols)
c:\PdbSymbols\ntdll.pdb\36515FB5D04345E491F672FA2E2878C02\ntdll.pdb
0:000> lml
start end module name
4ad00000 4ad61000 cmd (pdb symbols) C:\Program
Files\Debugging Tools for Windows
(x86)\sym\cmd.pdb\CF1A48FBB97F48138C74389FD532EFA32\cmd.pdb
7c900000 7c9b0000 ntdll (pdb symbols)
c:\PdbSymbols\ntdll.pdb\36515FB5D04345E491F672FA2E2878C02\ntdll.pdb
FAULTING_THREAD: 00000530
PROCESS_NAME: cmd.exe
NTGLOBALFLAG: 70
APPLICATION_VERIFIER_FLAGS: 0
BUGCHECK_STR: APPLICATION_FAULT_LOADER_INIT_FAILURE_80000003
PRIMARY_PROBLEM_CLASS: LOADER_INIT_FAILURE_80000003
DEFAULT_BUCKET_ID: LOADER_INIT_FAILURE_80000003
SYMBOL_NAME: cmd.exe!Unknown
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: cmd
IMAGE_NAME: cmd.exe
DEBUG_FLR_IMAGE_TIMESTAMP: 41107ebe
FAILURE_BUCKET_ID: LOADER_INIT_FAILURE_80000003_80000003_cmd.exe!Unknown
BUCKET_ID: APPLICATION_FAULT_LOADER_INIT_FAILURE_80000003_cmd.exe!Unknown
news:48C2D76A...@microsoft.com...