我创建了 TaskManagerUtility 应用程序,该应用程序将向我提供当前在Windows移动设备中运行的所有进程的信息。
目前,我可以收集如下所述的信息: -
1. Process Name
2. Process ID
3. Thread ID (associated with the specified process)
4. Thread Count (total number of threads associated with the specified process)
5. DLL Name (associated with the specified process)
6. Process Memory Usage
7. Process Peak Memory Usage
8. Process CPU Time
9. Process CPU utilization
有什么方法可以找出与指定流程相关的所有单个Dll的总内存使用量?
是否有可能实现相同的目标?有没有API可以这样做?
如果“否”,那么为什么不可能?
请指导我,因为我没有得到任何线索。
提前致谢。
答案 0 :(得分:2)
从内核的角度来看,DLL没有分配进程所做的内存,因此无法知道哪些DLL分配了哪些内存块。您可以使用ToolHelp Functions,特别是Heap32ListFirst
和Heap32ListNext
来确定进程在堆中分配的内存量。