Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.20;
Скачать: CL | DM;

Вниз

Сканирование памяти   Найти похожие ветки 

 
Илайдж   (2003-02-11 12:13) [0]

Есть некий процесс, известен его handle
Как просканировать память, выделенную данному процессу.

Это нужно для мониторинга неких изменившихся значений.

Буду рад любым идеям.


 
Слесарь Матерящийся ©   (2003-02-11 12:17) [1]

Знамо дело, HeapWalk() + HeapValidate()


 
Илайдж   (2003-02-11 12:30) [2]

А нельзя ли поподробней? Может есть какой-то пример?


 
Слесарь Матерящийся ©   (2003-02-11 12:46) [3]

типа так:

var
he : PROCESS_HEAP_ENTRY;
msg: AnsiString;
begin
he.lpData := nil;
{ Перечисляем блоки памяти, выделенные процессу }
while HeapWalk(GetProcessHeap(),@he) do
if HeapValidate(GetProcessHeap(),0,he.lpData) then
begin
{ Анализируем содержимое структуры }
msg := "blockptr = " + IntToHex(integer(he.lpData),8) + ", length = " + IntToStr(he.cbData);
ListBox1.Items.Add(msg);
end;
end;

что-то в таком духе...


 
BlackTiger   (2003-02-11 15:08) [4]

Может я ошибаюсь, но менеджер памяти рубанет тебя нафиг за попытку покопаться в "чужой" памяти. Если этот процесс сам не предоставляет память для других, то фиг ты туда залезешь.

Нужны всякие мутексы-шмутексы, файлы в памяти и тыды.



Страницы: 1 вся ветка

Текущий архив: 2003.02.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
4-63917
АлексКриппер
2003-01-09 08:51
2003.02.20
Как писать в память?


14-63741
sand
2003-02-03 16:43
2003.02.20
drag&drop


3-63547
ShuraGrp
2003-01-30 14:10
2003.02.20
Удаление повторяющихся записей


3-63562
gonta
2003-02-03 23:51
2003.02.20
Работа с датами в БД


4-63894
Rookie
2003-01-09 17:56
2003.02.20
CreateDialog глюкавит???