WinDbg
От: Аноним  
Дата: 25.02.13 10:25
Оценка:
Всем привет,как в windbg посмотреть все референсы на адрес, иначе говоря, как посмотреть откуда вызывалась функция?
И как можно идентифицировать начало функции в ассемблерном коде windbg?
Re: WinDbg
От: Аноним  
Дата: 25.02.13 11:03
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Всем привет,как в windbg посмотреть все референсы на адрес, иначе говоря, как посмотреть откуда вызывалась функция?

А>И как можно идентифицировать начало функции в ассемблерном коде windbg?

символы загрузи, он тебе все покажет
Re[2]: WinDbg
От: Аноним  
Дата: 25.02.13 12:32
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Аноним, Вы писали:


А>>Всем привет,как в windbg посмотреть все референсы на адрес, иначе говоря, как посмотреть откуда вызывалась функция?

А>>И как можно идентифицировать начало функции в ассемблерном коде windbg?

А>символы загрузи, он тебе все покажет


в том и дело, что символов нет, точнее они есть, но неверные
Re[3]: WinDbg
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 26.02.13 17:21
Оценка:
Здравствуйте, Аноним, Вы писали:

А>в том и дело, что символов нет, точнее они есть, но неверные


Тогда Вы слишком многого хотите от WinDbg. Его удобство исключительно в работе с отладочными базами, по которым он добывает нужную информацию, а дизассемблер у него убогий и примитивный. Если Вам требуется анализ кода — делайте это в нормальном аналитическом дизассемблере.
Re[4]: WinDbg
От: Аноним  
Дата: 27.02.13 07:25
Оценка:
Получается,что в случае release и debug версии у меня создаются следующие файлы : .map, .pdb и .sys, если я указываю при анализе минидампа в символах путь к этим файлам, то в случае с release сборкой я получаю в качестве места,где произошло падение что-то вроде Driver!memcpy+0x2ee,а при debug сборке указание на место в исходнике. Почему так получается, возможно я что-то упустил?
Re[5]: WinDbg
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 27.02.13 07:33
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Получается,что в случае release и debug версии у меня создаются следующие файлы : .map, .pdb и .sys


.map создается исключительно для Вас, отладчики и дизассемблеры его не используют — вся нужная информация содержится в .pdb.

А>если я указываю при анализе минидампа в символах путь к этим файлам, то в случае с release сборкой я получаю в качестве места,где произошло падение что-то вроде Driver!memcpy+0x2ee,а при debug сборке указание на место в исходнике. Почему так получается, возможно я что-то упустил?


Возможно, в настройках конфигурации Release у Вас включено только создание .pdb линкером, без создания развернутой отладочной информации компилятором. В этом случае в .pdb включается лишь информация о модулях. Ну и не забывайте об оптимизации — если у Вас в функциях (даже разных) встречаются повторяющиеся участки кода достаточного размера, компилятор в режиме максимальной оптимизации может их объединить, и тогда понять, в какой функции произошло исключение, можно только по предыстории.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.