Дебаг процесса и доступ к его памяти
От: Went  
Дата: 04.02.21 20:04
Оценка:
Здравствуйте. Вопрос совсем простой, и, наверное, глупый.
Допустим, я создаю программу, которая может породить новый процесс в режиме отладки (флаг DEBUG_PROCESS). Код этой программы и код процесса полностью пишу я, то есть я не запускаю сторонние процессы, а только свои. Есть ли способ, специфичный WINAPI, при помощи которого я могу "открыть" всю память (в том числе, и кучу) дочернего процесса для процесса-родителя? Ну, чтобы, например, я мог получить из дочернего процесса указатель на какой-то объект, и в процессе-родителе "в наглую" посмотреть у него значения каких-то полей. Пускай, только для чтения.
Понятно, что я могу наладить межпроцессовое взаимодействие через какой-то протокол, типа, процесс-родитель посылает ему сообщение "покажи содержимое вот-такого-то блока памяти", и дочерний процесс в своем адресном пространстве копирует этот кусок и отдает пакетом родителю. Но это, как мне кажется, как-то сложно и геморройно (да и невозможно, если дочерний процесс словил исключение и сейчас "висит").
Должен быть простой "штатный" способ, ведь дебаггеры как-то это делают (та же студия спокойно "гуляет" по данным процессов, к которым она подключилась).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.