Главная страница
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.031 c
14-63780
Keks111111
2003-02-03 21:13
2003.02.20
ЧТО СЛУЧИЛОСЬ?????


14-63740
kpo
2003-02-05 13:10
2003.02.20
Где


14-63848
msoftware
2003-02-04 14:28
2003.02.20
Песню не слыхали


3-63486
Saracin
2003-02-04 07:53
2003.02.20
Обясните связи 1<->1 , 1<->n , n<->n


14-63806
blackweber
2003-02-03 19:48
2003.02.20
Монитор..