Как получить информацию об исходном файле с помощью дампбина / символов при компиляции с VS 2005? - PullRequest
1 голос
/ 02 декабря 2009

У меня есть инструмент, который использует вывод dumpbin / symbols для некоторого анализа зависимостей с нашими библиотеками C / C ++. Когда мы скомпилировали библиотеки с VS 6.0, ТАБЛИЦА СИМВОЛОВ КОФЕ В ДАМБИНЕ содержала записи типа

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

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


Спасибо, Скотт.

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

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

Есть какие-нибудь указатели на это?

1 Ответ

2 голосов
/ 14 марта 2010

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

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

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

...