Я создал TaskManagerUtility приложение, которое даст мне информацию обо всех процессах, в настоящее время запущенных в устройстве Windows Mobile.
В настоящее время я могу собирать такую информацию, как указано ниже:
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, который может это сделать?
Если «НЕТ», то почему это невозможно?
Пожалуйста, ведите меня, поскольку я не получаю никакой подсказки для этого.
Заранее спасибо.
С точки зрения ядра, DLL не распределяют память, которую делает процесс, поэтому нет способа узнать, какая DLL распределила какие блоки памяти. Вы можете определить, сколько памяти процесс выделил в кучах с помощью Функции ToolHelp, конкретно Heap32ListFirst
а также Heap32ListNext
,
Других решений пока нет …