Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.79/14: Рейтинг темы: голосов - 14, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 12.10.2009
Сообщений: 6
1

дамп памяти

12.10.2009, 20:13. Просмотров 2738. Ответов 7
Метки нет (Все метки)

здравствуйте.
хотелось бы узнать как, зная начальный адресс и сдвиг, произвести снятие дампа этого участка памяти и вывести его допустим в txt файл. какие функции нужно использовать для этого?
Заранее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.10.2009, 20:13
Ответы с готовыми решениями:

Дамп памяти
что такое дамп памяти и для чего он нужен?

Дамп памяти
Подскажите как снять дамп памяти с телефона на платформе Андроид ? И как можно получить root -...

Дамп памяти
Надо сделать вывод на экран содержимого шестнадцати байтов. org 100h jmp disp_line...

Дамп памяти
Подскажите, пожалуйста, как можно сделать дамп оперативной памяти какого-либо приложения или всей...

7
Эксперт С++
7171 / 3229 / 77
Регистрация: 17.06.2009
Сообщений: 14,166
12.10.2009, 21:31 2
Память имеется в виду своего процесса ?

Обычные - write(), fprintf() сойдут.
0
Эксперт С++
2919 / 1268 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
12.10.2009, 21:32 3
Что подразумевается под "начальным адресом" и "сдвигом"?
А так, в общем, ничего сложного..... Подробно описано: Джеффри Рихтер, Windows для профессионалов, часть III Управление памятью, глава 13. Книга есть в электронном виде в Сети, гуглится за пять минут.
1
0 / 0 / 0
Регистрация: 12.10.2009
Сообщений: 6
12.10.2009, 22:03  [ТС] 4
Спасибо почитаю)
не совсем, допустим есть какой-то системный процесс, есть список модулей используемых им. я знаю базовый адресс модуля и знаю размер его. вот это я имел в виду
0
Эксперт С++
2919 / 1268 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
12.10.2009, 22:15 5
Вот это как раз и подробно и доходчиво описано у мэтра Рихтера
0
MCSD: APP BUILDER
8787 / 1065 / 104
Регистрация: 17.06.2006
Сообщений: 12,604
12.10.2009, 22:26 6
АЛексанДР1,
воспользоваться функцией MiniDumpWriteDump из DbgHelp.dll или кросс-платформенной библиотекой Google BreakPad
1
0 / 0 / 0
Регистрация: 12.10.2009
Сообщений: 6
14.10.2009, 21:20  [ТС] 7
пробую через функцию MiniDumpWriteDump

C++
1
2
3
4
5
6
7
8
9
BOOL WINAPI MiniDumpWriteDump(
  __in          HANDLE hProcess,
  __in          DWORD ProcessId,
  __in          HANDLE hFile,
  __in          MINIDUMP_TYPE DumpType,
  __in          PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam,
  __in          PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam,
  __in          PMINIDUMP_CALLBACK_INFORMATION CallbackParam
);
1)HANDLE hProcess, не совсем разберусь как получить указатель на процесс
C++
1
2
3
4
5
6
7
HANDLE hProcessSnap;
 PROCESSENTRY32 proc;
 hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); 
 if (hProcessSnap == INVALID_HANDLE_VALUE)
 return false;
 proc.dwSize = sizeof(PROCESSENTRY32);
 Process32First(hProcessSnap,&proc);
2)DWORD ProcessId это понятно:
C++
1
proc.th32ProcessID
3)HANDLE hFile тоже все ясно:
C++
1
2
FILE *f;
f = fopen("damp.txt","wb");
4)MINIDUMP_TYPE DumpType:
MiniDumpNormal

и с 3мя последни пораметрами непонятно)

можно маленький примерчик если не сложно)

Добавлено через 21 минуту
Мне необходимо что-бы программа не полностью снимала дамп, а только по определенному адрессу
тут скорее всего нужна функция

C++
1
2
3
4
5
6
7
ReadProcessmemory(
HANDLE hProcess,
LPCVOID lpBaseAddress,
LPVOID lpBuffer,
SIZE_T nSize,
SIZE_T* lpNumberOfBytesRead
);
но тут я вообче не пойму откуда брать эти параметры Oo
0
0 / 0 / 0
Регистрация: 12.10.2009
Сообщений: 6
16.10.2009, 22:49  [ТС] 8
Во всем вроде бы разобрался ктоме 1 вещи, для MiniDumpWriteDump необходимо получить структуру EXCEPTION_POINTERS. Эту структуру можно получить при обработке исключения, с помощю функции GetExceptionInformation (эту функцию можно вызывать только внутри filter expression(__except) обработчика исключения). как это сделать подскажите
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.10.2009, 22:49

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Дамп памяти
Здравствуйте. Вроде все правельно, но не вижу в дампе памяти свой файл, подскажите пожалуйста...

Дамп оперативной памяти
Подскажите, как сделать Дамп оперативной памяти в Linux? какими утилитами? (нужно отобразить...

Аварийный дамп памяти
Здравствуйте уважаемые форумчане, помогите пожалуйста расшифровать малый дамп памяти. Проблема в...

Дамп памяти- не понимаю
Здравстуйте, у меня проблема с курсовой, мне ее сделали полностью, но препод задал пару вопросов:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.