Главная страница
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.015 c
14-63827
Ihtiandr
2003-02-04 10:25
2003.02.20
DBGrid


14-63765
NorthMan
2003-02-02 21:17
2003.02.20
Народ, может кто посоветует документацию по Oracle. Интересует


3-63474
Андрусь
2003-02-03 16:32
2003.02.20
помогите ускорить загрузку


1-63632
iNew
2003-02-11 07:28
2003.02.20
Коприую файл с винта на дискету. Как проверить нормально


3-63514
Ahmad K
2003-02-02 03:08
2003.02.20
Чтение базы по номеру строки