Я хотел бы знать, правильно ли мое предположение, в моем проекте я хотел бы точно знать, какую память выделил мой процесс и дочерний процесс, поэтому после исследования я перешел через win32 api, GetProcessHeaps()
, в документации говорится Я могу перечислить все кучи, выделенные процессом, и получить их размер. Однако я столкнулся с другим вопросом, где в каждом потоке будет располагаться стек. У меня истек срок действия GetCurrentThreadStackLimits()
, который возвращает начальный и конечный адрес. Но я не мог читать непосредственно из этой памяти.
Может быть, кто-нибудь сможет направить меня в правильном направлении или немного объяснить, как найти каждый кусок памяти, который использует процесс.
В основном отладчик каким-то образом знает, какую часть памяти вы зарезервировали, а какие нет. следовательно, некоторая часть виртуальной памяти вы можете прочитать, а некоторые части просто не можете, потому что вы не зарезервировали ее, и она не отображается на физическую память.
Вопрос в основном касается перечисления распределения, определения их расположение и размер, и чтение с них. Так же, как это делает отладчик.