ГВ
Галина Вайнярв

Как узнать адрес в оперативной памяти с которого начинается процесс?

Хочу сделать программу которая делает дамп памяти процесса. Узнать сколько всего занимает память легко.

Константин Моленов
Константин Моленов

Даже не знаю. Однако, если пользоваться понятием дескриптора (в С\С++), то этот самый дескриптор и должен быть не чем иным, как УКАЗАТЕЛЕМ НА ПЕРВЫЙ БАЙТ ПАМЯТИ, ЗАНИМАЕМОЙ ЭКЗЕМПЛЯРОМ КЛАССА. Вспомни одну из идей языка: ПОЧЕМУ ИМЯ МАССИВА ПОДОБНО УКАЗАТЕЛЮ НА ЕГО ПЕРВЫЙ (вернее, нулевой! ) ЭЛЕМЕНТ. Дескриптор - по сути своей УКАЗАТЕЛЬ. Любой объект размещаемый в ОП - последовательность байтов. Откуда можно предположить, что Дескриптор_Процесса = Указатель_На_Начальный_Байт_Процесса_Размещённого_в_ОП.

Это не точно, предположение. Но попробуй покопать в этом направлении, должно быть недалеко от истины.. . Успехов тебе. Если нароешь чего - поделись. Я прикладник, мне системные вопросы не особо близки.. .

PS: забыл, тебе ещё нужно будет вычислить смещение (длину экземпляра процесса) . Тут ничего кроме RTTI в голов не лезет.. . И ещё: для взаимодействия процессов может быть организован доступ нескольких процессов к одной и той же области памяти. Тоже задача: её как то в дампе выделять следует? а указывать, какими процессами ещё исползуется - надо?

Похожие вопросы
Перенос процессов в swap. Как перенести вручную процессы из оперативной памяти в swap?
Мониторинг оперативной памяти
Как узнать тип модуля оперативной памяти?
как узнать какая частота mhz у меня на оперативной памяти?
Как узнать частоту Оперативной памяти?
как узнать сколько у меня на компьютере оперативной памяти ?
как узнать сколько оперативной памяти в компьютере
перегрузка оперативной памяти до 100%.в диспетчере не показывает эти процессы
Как узнать фирму производителя оперативной памяти.
как начинают себя вести игры когда не хватает оперативной памяти ?