2010-03-25 6 views
3

Кто-нибудь знает, как получить идентификатор GUID из файла PDB?Как я могу получить GUID из файла PDB?

Я использую интерфейс отладки Access SDK от Microsoft

http://msdn.microsoft.com/en-us/library/f0756hat.aspx

и получать E_PDB_INVALID_SIG при переходе в GUID я ожидать при попытке загрузить PDB.

Я просто хотел бы узнать GUID PDB, поэтому я могу быть уверен, что он несовместим, а не только PDB, который каким-то образом поврежден.

Есть ли инструмент, который может это сделать? Я попытался dia2dump и DUMPBIN, но без радости ...

Большое спасибо,

thoughton.

ответ

1

Я бы использовал API-интерфейсы dbghelp. Если все, что вам нужно, это информация о PDB, вы можете использовать chkmatch, или heck, просто загрузите dll/exe в WinDbg и используйте! Sym noisy,! Lmi or! Chksym.

Фиксация PDB для соответствия - это совсем другая история! chkmatch может выполнять некоторую работу, но не может совместить возрастные различия, он может делать только метки времени и GUID-подписи.

4

Существует Code Project tool called PDB Inspector, который должен быть в состоянии вам помочь. Или, если вам нужно сделать, это в основном программно вы звоните:

IDiaDataSource::LoadDataFromPdb 
IDiaDataSource::openSession 
IDiaSession::get_global_scope 
IDiaSymbol::get_guid 
1

introduction в АСВ и его отношение к DbgHelp вместе с C++ образца. Это, в основном, статья, которую я написал после упоминания Павла Арнольда.

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

  • Нет связанных вопросов^_^