Использование отладчика Microsoft Visual Studio Debugger |
Написал microsin | |
13.01.2006 | |
(по статье Криса Касперски "Практические советы по восстановлению системы в боевых условиях")
1. Окно "Call Stack" (Debug\Windiws\Call Stack, или Ctrl+Alt+C) позволяет просматривать историю вызовов функций. Выглядит это окно так: Каждая строка указывает на модуль и помещённое в стек значение адреса в этом модуле (точка возврата из вызова call). Если щёлкать мышкой на каждую строку, то попадаем в окне Disassembly на адрес в указанном модуле, причём перед указанной точкой возврата ВСЕГДА стоит команда call ... (то есть, это и есть история вызовов call, хранящаяся в стеке). Исключение составляет первая строка (TestCEDIT.exe!00401362()), в которой адрес 00401362 всего лишь равен текущему значению регистра указателя стека EIP. 2. Чтобы посмотреть дамп самого стека, с котором лежат все адреса списка Call Stack вперемежку с передаваемыми через стек параметрами, нужно ввести в поле Address дампа слово ESP (для удобства просмотра параметров в стеке лучше дамп переключить в режим 4-byte Integer, это делается в контекстном меню окна дампа) и нажать на Enter. В поле Address автоматически подставляется значение регистра ESP и окно дампа начинает показ памяти с этого адреса. При внимательном просмотре дампа обнаруживается, что там действительно есть все адреса из окна истории вызовов Call Stack.
3. 0049434A mov al,byte ptr [outKEYSpnt (5E60B9h)] |
|
Последнее обновление ( 17.12.2009 ) |