2009-12-02 6 views
1

У меня есть инструмент, который использует вывод dumpbin/символов для выполнения некоторого анализа зависимости с нашими библиотеками C/C++. Когда мы собрали с VS LIBS 6.0 DUMPBIN COFF SYMBOL TABLE содержали записи, какКак получить информацию о исходном файле с dumpbin/symbols при компиляции с помощью VS 2005?

000 00000008 DEBUG notype  Filename  | .file 
    x:\mydir\mysource.c 

позволяет мне получить соотношение между источниками и определенными/используемых символов, который имеет важное значение для моего инструмента. При компиляции с VS 2005 эти записи отсутствуют. Когда я смотрю на библиотеки с шестнадцатеричным редактором, кажется, что в двоичных файлах нет никакой информации о имени файла, поэтому, похоже, это не проблема с dumbin, а связанная с компиляцией. Поэтому я искал способ, чтобы получить записи Filename обратно в свои библиотеки при компиляции с VS 2005.


Благодаря Скотт.

API отладки справки выглядит интересным, но мне еще не удалось выяснить, как получить ту же информацию, которую я смог извлечь из COFF, т.е. для каждого символа

  1. исходный файл, который определяет его
  2. и список исходных файлов с помощью символа

Все указатели на это?

ответ

2

VS 2005 не испускает информацию отладки COFF. Microsoft отказалась от этого в пользу PDB. Это означает, что они больше не производят его, и в итоге link.exe перестанет его потреблять.

Вы можете прочитать информацию PDB с помощью API справки отладки.

http://msdn.microsoft.com/en-us/library/ms679309(VS.85).aspx