0

My executable is setup.exe, I have a pdb file named setup.pdb in the same directory c:\ade\bpurana\.ade\view_storage\bpurana_oui_424\oui\cd\disk1

My symbol file path is this

cache*c:\symbols;srv*https://msdl.microsoft.com/download/symbols;c:\ade\bpurana\.ade\view_storage\bpurana_oui_424\oui\cd\disk1

When I reload using this

.reload /f 

I can see this error :

SYMSRV:  c:\symbols\image00000001`3f6b0000.dbg\574587D664000\image00000001`3f6b0000.dbg not found
SYMSRV:  c:\symbols\image00000001`3f6b0000.dbg\574587D664000\image00000001`3f6b0000.dbg not found
SYMSRV:  https://msdl.microsoft.com/download/symbols/image00000001`3f6b0000.dbg/574587D664000/image00000001`3f6b0000.dbg not found
DBGHELP: c:\ade\bpurana\.ade\view_storage\bpurana_oui_424\oui\cd\disk1\install\image00000001`3f6b0000.dbg - file not found
DBGHELP: c:\ade\bpurana\.ade\view_storage\bpurana_oui_424\oui\cd\disk1\install\.exe\image00000001`3f6b0000.dbg - path not found
DBGHELP: c:\ade\bpurana\.ade\view_storage\bpurana_oui_424\oui\cd\disk1\install\symbols\.exe\image00000001`3f6b0000.dbg - path not found
DBGHELP: c:\ade\bpurana\.ade\view_storage\bpurana_oui_424\oui\cd\disk1\install\setup.pdb\image00000001`3f6b0000.dbg - path not found
DBGHELP: c:\ade\bpurana\.ade\view_storage\bpurana_oui_424\oui\cd\disk1\install\setup.pdb\.exe\image00000001`3f6b0000.dbg - path not found
DBGHELP: c:\ade\bpurana\.ade\view_storage\bpurana_oui_424\oui\cd\disk1\install\setup.pdb\symbols\.exe\image00000001`3f6b0000.dbg - path not found
DBGHELP: C:\ADE\bpurana\.ade\view_storage\bpurana_oui_424\oui\cd\Disk1\install\image00000001`3f6b0000.dbg - file not found
DBGHELP: C:\ADE\bpurana\.ade\view_storage\bpurana_oui_424\oui\cd\Disk1\install\.exe\image00000001`3f6b0000.dbg - path not found
DBGHELP: C:\ADE\bpurana\.ade\view_storage\bpurana_oui_424\oui\cd\Disk1\install\symbols\.exe\image00000001`3f6b0000.dbg - path not found
DBGHELP: image00000001`3f6b0000 missing debug info.  Searching for pdb anyway
DBGHELP: Can't use symbol server for image00000001`3f6b0000.pdb - no header information available
DBGHELP: c:\ade\bpurana\.ade\view_storage\bpurana_oui_424\oui\cd\disk1\install\image00000001`3f6b0000.pdb - file not found
DBGHELP: c:\ade\bpurana\.ade\view_storage\bpurana_oui_424\oui\cd\disk1\install\exe\image00000001`3f6b0000.pdb - file not found
DBGHELP: c:\ade\bpurana\.ade\view_storage\bpurana_oui_424\oui\cd\disk1\install\symbols\exe\image00000001`3f6b0000.pdb - file not found
DBGHELP: c:\ade\bpurana\.ade\view_storage\bpurana_oui_424\oui\cd\disk1\install\setup.pdb\image00000001`3f6b0000.pdb - file not found
DBGHELP: c:\ade\bpurana\.ade\view_storage\bpurana_oui_424\oui\cd\disk1\install\setup.pdb\exe\image00000001`3f6b0000.pdb - file not found
DBGHELP: c:\ade\bpurana\.ade\view_storage\bpurana_oui_424\oui\cd\disk1\install\setup.pdb\symbols\exe\image00000001`3f6b0000.pdb - file not found
DBGHELP: C:\ADE\bpurana\.ade\view_storage\bpurana_oui_424\oui\cd\Disk1\install\image00000001`3f6b0000.pdb - file not found
DBGHELP: image00000001`3f6b0000.pdb - file not found
*** ERROR: Module load completed but symbols could not be loaded for image00000001`3f6b0000 

I am wondering

  1. why is it looking for a dbg file when the pdb is already present in the path.
  2. Why is there a refernce to the image00000001`3f6b0000.pdb ; when the setup.pdb is in the symbol path?
  3. Where is this image<> file name being populated from ?

Edit 1:

Command used for compilation :

    icl.exe /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D   "_WINDOWS" /Fp".\win64\debug\setup.pch" /YX /Fo".\win64\debug\\" /Fd".\win64\debug\\" /c ..\c\runInstaller.c

Edit 2 :

This is what I see when I try the cdb on the exe file. It seems to have a image<> executable within .

 C:\Program Files\Debugging Tools for Windows (x64)>cdb.exe -c "q" C:\ADE\bpurana_oui_win\oui\cd\Disk1\install\setup.exe  | grep -A 1 -i Execu*
 Executable search path is:
 ModLoad: 00007ff7`e4e10000 00007ff7`e4e74000   image00007ff7`e4e10000

The ICL version is this :

[C:\ADE\bpurana_oui_win\oui]icl /version
Intel(R) C++ Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 14.0.4.237 Build 20140805

Copyright (C) 1985-2014 Intel Corporation. All rights reserved.

Even with this the issue is still persisting is there anything else I need to fix ?

Matt Johnson-Pint
  • 230,703
  • 74
  • 448
  • 575
bhavs
  • 2,091
  • 8
  • 36
  • 66
  • i already commented to your earlier post and it seems my hunch was on spot your executables pe file is missing the Debug Directory header iirc you compiled it with intel compiler as per your earlier post please read the intel forums there are reports that indicate some bug with icl.exe upto some x version which was ifxed in x+y version regarding pdb file not produced whatever imagexxx is an internally generated name for images that lack Debug Directories in pe header – blabb May 27 '16 at 08:10

1 Answers1

0

directory with a single src file

:\>ls -l
total 4
-rw-rw-rw-  1 HP 0 63 2016-05-27 13:51 hw.cpp

src is a simple hellow orld

:\>cat hw.cpp
#include <stdio.h>
void main (void)
{
        printf("hello");
}

compiled with Debug info

:\>cl /nologo /Zi /Fe:hwdbg.exe hw.cpp
hw.cpp

compiled without debug info

:\>cl /nologo /Fe:hwnodbg.exe hw.cpp
hw.cpp

dumping the contents of Debug Directory in Pe header for nodbg and dbg exes

:\>dumpbin /nologo /headers hwdbg.exe hwnodbg.exe | grep -i -A 4 Debug*
           5A220 [      38] RVA [size] of Debug Directory
xxxx

    57480732 cv    38 0005B048 59C48 Format: RSDS, {2233DB57-2608-46AF-A94C-0AB233BB333C}, 
--
           164B0 [      1C] RVA [size] of Debug Directory
xxxxx

    57480738 coffgrp      300 000165F4    159F4

loading both the executables in windbg and checking image names

:\>cdb.exe -c "q" hwdbg.exe | grep -A 1 -i Execu*
Executable search path is:
ModLoad: 01070000 010d5000   hwdbg.exe

:\>cdb.exe -c "q" hwnodbg.exe | grep -A 1 -i Execu*
Executable search path is:
ModLoad: 01320000 0133c000   image01320000
blabb
  • 8,674
  • 1
  • 18
  • 27
  • thanks for the detailed answer, the source code is being compiled with a /Zi option I am updating the question with the command used for compilation. – bhavs May 27 '16 at 09:05
  • I am suspecting this to be an issue with the version of ICL compiler used. I am suspecting dumpbin and cdb.exe are specific tools ?Within the windbg command line I am unable to access the tools – bhavs May 27 '16 at 09:16
  • cdb is command line version of windbg if you have windbg you willl definately have cdb in the same folder as far as dumpbin goes it is part of vc++ compiler package or dumpbin is a just a fancy name under the hoods it invokes link.exe with arguments – blabb May 27 '16 at 11:35
  • compile a simple hello world with your icl and test if windbg can load the symbols icl.exe simple.cpp do this without debug info and compare this problem does not appear to be a windbg problem windbg is right it cant find the header it says i loaded some xyz at some place 123456789 if you want to examine the unidentifiable exe go to address 123456789 that i appended to imageXXX and look windbg is absolutely right in its handling of the situation – blabb May 27 '16 at 11:55
  • I realised that windbg was expecting a setup.pdp for some reason – bhavs May 30 '16 at 10:00