Copyright © 2024 Squareroot_2, All rights reserved.
实验三 遍历进程地址空间
一、实验目的
通过设计程序实时显示某个进程的虚拟地址空间布局和工作集信息,加深对内存管理的理解。
二、实验内容
在Windows系统下设计程序,实时显示某个进程的虚拟地址空间布局和工作集信息。
三、程序设计与实现
实验环境:windows 10
开发环境:Visual Studio 2022
程序源码:
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <windows.h>
#include <psapi.h>
#include <tlhelp32.h>
#include <shlwapi.h>
#include <iomanip>
#pragma comment(lib,"Shlwapi.lib")
using namespace std;
void showMask(DWORD dwTarget, DWORD dwMask, string type) {
if ((dwTarget & dwMask) == dwMask) {
cout << ", " << type;
}
}
void showProtection(DWORD dwTarget) {
showMask(dwTarget, PAGE_READONLY, "PAGE_READONLY");
showMask(dwTarget, PAGE_GUARD, "PAGE_GUARD");
showMask(dwTarget, PAGE_NOCACHE, "PAGE_NOCACHE");
showMask(dwTarget, PAGE_READWRITE, "PAGE_READWRITE")<