我正在使用WinDbg通过使用dt _PEB @$peb
来查看流程中的堆数。我得到以下信息,
+0x088 NumberOfHeaps : 1
现在根据高级Windows调试一书,
大多数应用程序隐式使用创建自己的组件 堆。一个很好的例子是C运行时,它创建自己的堆 在初始化期间。
我在main添加断点,但我仍然可以看到只有一个堆正在进行中。
其次,我运行了以下代码,堆的数量仍为1。
BYTE* pAlloc1 = NULL;
BYTE* pAlloc2 = NULL;
HANDLE hProcessHeap = GetProcessHeap();
pAlloc1 = (BYTE*)HeapAlloc(hProcessHeap, 0, 16);
pAlloc2 = (BYTE*)HeapAlloc(hProcessHeap, 0, 1500);
为什么我没有在进程中增加堆的数量?