Форум: "Основная";
Текущий архив: 2003.02.20;
Скачать: [xml.tar.bz2];
ВнизСканирование памяти Найти похожие ветки
← →
Илайдж (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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c