2016-05-27 5 views
0

Мой исполняемый файл setup.exe, у меня есть PDB файл с именем setup.pdb в том же каталоге c:\ade\bpurana\.ade\view_storage\bpurana_oui_424\oui\cd\disk1WinDbg символ файлы не в состоянии решить

Мой путь к файлу символ это

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

Когда я перезагружать с помощью этого

.reload /f 

Я вижу эту ошибку:

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 

Я задаюсь

  1. почему он ищет файл Dbg когда PDB уже присутствует в пути.
  2. Почему существует ссылка на изображение00000001`3f6b0000.pdb; когда setup.pdb находится в пути символа?
  3. Где находится изображение <> имя файла заполняется?

Edit 1:

Команда, используемая для компиляции:

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:

Это то, что я вижу, когда я пытаюсь ЦКБ на исполняемый файл. Кажется, что есть изображение <> исполняемый файл внутри.

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 

версия ICL это:

[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. Все права защищены.

Даже при этом проблема все еще сохраняется, есть ли что-нибудь еще, что мне нужно исправить?

+0

я уже прокомментировал ваш ранее пост, и кажется, моя догадка была на месте, где у вашего исполняемого файла pe отсутствует заголовок Debug Directory iirc, который вы скомпилировали с помощью компилятора Intel в соответствии с вашим предыдущим сообщением, пожалуйста, прочитайте на форумах intel, есть сообщения, указывающие на ошибку с icl.exe до некоторой версии x, которая была ifxed в версии x + y относительно файла pdb, не созданного whate ver imagexxx является внутренне сгенерированным именем для изображений, которым не хватает файлов Debug в заголовке pe – blabb

ответ

0

каталог с одним Src файла

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

Src является простой Хеллоу Всемирная

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

скомпилирован с отладочной информацией

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

скомпилирован без отладочной информации

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

демпинга содержимого Debug каталога в заголовке П для nodbg и 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 

погрузочных как исполняемых файлов в WinDbg и проверять имена изображений

:\>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 
+0

спасибо за подробный ответ, исходный код компилируется с помощью параметра/Zi. Я обновляю вопрос командой, используемой для компиляции. – bhavs

+0

Я подозреваю, что это проблема с версией используемого компилятора ICL. Я подозреваю, что dumpbin и cdb.exe являются конкретными инструментами? В командной строке windbg я не могу получить доступ к инструментам. – bhavs

+0

cdb - это версия командной строки windbg, если у вас есть windbg, у вас наверняка будет cdb в той же папке, что и dumpbin go это часть пакета компилятора vC++ или dumpbin - это просто причудливое имя под капотами, которое он вызывает link.exe с аргументами – blabb

Смежные вопросы