Re: WaitForDebugEvent: как узнать имя загружаемой DLL?
От: OlegO Россия http://www.mediachase.ru
Дата: 13.05.02 08:07
Оценка:
Здравствуйте eXXXplosivo, Вы писали:

XXX>Вопрос: как имея указанную выше информацию (структуру LOAD_DLL_DEBUG_INFO) узнать имя DLL? Думаю, это возможно, ведь реальные отладчики как-то ведь это делают! Может, зная хэндл можно как-то выудить имя файла?


XXX>Всем зараннее спасибо за помощь!


Действительно не все так просто . Однако решение есть, не мое правда, а Джона Робинсона автора книги "Отладка приложений", в ней кстати эта проблема расипсывается подробно в 4 главе WDBG: A Real Debugger. На примере дебагера WDBG.

Основная идея для NT использовать функцию GetModuleFileNameEx из PSAPI Functions, и
CreateToolhelp32Snapshot, Module32First, Module32Next из Tool Help Library для остальных операционок.

Для ее решения им была написана универсальная функция BSUGetModuleFileNameEx, которая входит в BugslayerUtil.DLL, Она в зависимости от операционки выбирает один из выше приведенных механизмов. Скачать последнюю ее версию c исходниками можно с http://msdn.microsoft.com/msdnmag/issues/02/03/Bugslayer/Bugslayer0203.asp

Если понадабится пример использования могу скинуть отладчик WDBG.
С уважением, OlegO.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.