Oleg - thank you so much for your help!
I want to make 2 things clear :
B.exe is basically A.win renamed.
Each time I build the project I can sucessfully attach to the process
and debug it.
This time I did not try before giving the build for testing - of course
there is the slight chance that I am out of luck and of all the builds
I would not have been able to debug this one using VS.
In such a case - could you please tell me in what way can I check that
the build will be able to open in WinDbg and find the symbols correctly
? I tried the open executable command, after I made a brand new build,
setting all the sym path and source path and I still have the same
errors basically. I know I can debug in VS with that new build.
Here is the output from running the commands you suggested on my dump
opened in WinDbg :
Symbol search path is: MyPath
Executable search path is: MyPath
.........................................
*** ERROR: Symbol file could not be found. Defaulted to export symbols
for ntdll.dll -
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(f8c.7bc): Access violation - code c0000005 (first/second chance not
available)
eax=0105ce48 ebx=00000000 ecx=0105ce48 edx=dddddddd esi=01d7ec8c
edi=01d7f364
eip=005094e1 esp=01d7ec88 ebp=01d7f364 iopl=0 nv up ei pl nz na
pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000
efl=00000206
*** WARNING: Unable to verify checksum for B.exe
*** ERROR: Symbol file could not be found. Defaulted to export symbols
for B.exe -
my_product_name_which_is_B+0x1094e1:
005094e1 ff12 call dword ptr [edx]
ds:0023:dddddddd=????????
0:010> .exepath
Executable image search path is: MyPath
0:010> .sympath
Symbol search path is: MyPath
0:010> !sym noisy
noisy mode - symbol prompts on
0:010> .reload /f B.exe
DBGHELP: MyPath\A.pdb - mismatched pdb
DBGHELP: MyPath\symbols\exe\A.pdb - file not found
DBGHELP: MyPath\exe\A.pdb - file not found
DBGHELP: MySourcePath\A.pdb - file not found
DBGHELP: Couldn't load mismatched pdb for B.exe
*** WARNING: Unable to verify checksum for B.exe
*** ERROR: Symbol file could not be found. Defaulted to export symbols
for B.exe -
DBGHELP: B- export symbols
0:010> !lmi B.exe
Loaded Module Info: [B.exe]
Module: B
Base Address: 00400000
Image Name: B.exe
Machine Type: 332 (I386)
Time Stamp: 45a85018 Fri Jan 12 19:20:56 2007
Size: 3f5000
CheckSum: 0
Characteristics: 10f
Debug Data Dirs: Type Size VA Pointer
CODEVIEW 4d, 39622c, 39622c RSDS - GUID: {CD260FC1-
5BA-446E-BAD5-D8B7B6525928}
Age: 1, Pdb: MySourcePath\A.pdb
Image Type: MEMORY - Image read successfully from loaded memory.
Symbol Type: EXPORT - PDB not found
Load Report: export symbols
0:010> .sympath MySourcePath
DBGHELP: Symbol Search Path: MySourcePath
Symbol search path is: C:\SRC\fnc1\googleclient\bin-DEBUG\
0:010> .reload /f B.exe
DBGHELP: MySourcePath\A.pdb - mismatched pdb
DBGHELP: MySourcePath\symbols\exe\A.pdb - file not found
DBGHELP: MySourcePath\exe\A.pdb - file not found
DBGHELP: MySourcePath\A.pdb - mismatched pdb
DBGHELP: Couldn't load mismatched pdb for B.exe
*** WARNING: Unable to verify checksum for B.exe
*** ERROR: Symbol file could not be found. Defaulted to export symbols
for B.exe -
DBGHELP: B - export symbols
Thanks!!!
Post by Oleg StarodumovPost by Lady_AMy project has some special needs that due to them the building (using
a make file system) is done in the following way : build A.win and
A.pdb then build B.exe from A.win. I am talking about DEBUG mode.
My goal is to analyze a mini dmp file using WinDgb while what I have is
B.exe and A.pdb
The pdb is good for debugging B.exe - I can debug using VS 2003 by
attaching to the process and I was able to open the mini dmp files
successfully at some point last week.
I ran the chksym utility and it confirms the A.pdb and B.exe match
Now I am struggling with some symbol matching problem in WinDbg.
I have the unable to verify checksum problem and thats fine since I am
in debug mode.
*** ERROR: Symbol file could not be found.
used !sym -noisy and then reloaded the module and got
A.pdb - mismatched pdb
*** ERROR: Symbol file could not be found.
Renaming does not seem to solve anything.
Is it correct that live debugging of B.exe works, while debugging of the minidump
doesn't? If so, the first guess would be that the debugger cannot find matching
B.exe, not A.pdb (and to solve the problem, the location of matching B.exe
should be added to the search path e.g. using .exepath command).
Output of the following commands (when analysing the dump) could help
!sym noisy
.reload /f B.exe
!lmi B.exe
If it does not help, please post here the output of these commands, anyway.
--
Oleg
[VC++ MVP http://www.debuginfo.com/]