PfMon: Performance Monitor

Click to open or copy the files for the PfMon sample.

Click to open or copy the Bin directory (required).

Click to open or copy the Include directory (required).

This sample is a performance monitor.

PfMon will run only on Windows NT®. It requires Psapi.dll, which is distributed with the Win32® SDK.

USAGE

pfmon [pfmon switches] command_line_of_application

Main Files

File Description
Debug.c Main debug loop.
Error.c Error handle module.
Init.c Initialization module.
Module.c Maintains the module (symbol) information.
Pfmon.c Main performance monitor code.
Process.c Maintains state about each process/thread created by PfMon.

Building SDK Samples

This sample uses the following keywords:

addkerneldrivers; addmodule; addprocess; addthread; atoi; attachapplicationfordebug; containing_record; context_to_program_counter; continuedebugevent; createprocess; debugactiveprocess; debugeventhandler; debugeventloop; declareerror; deletemodule; deleteprocess; deletethread; emptyworkingset; enumdevicedrivers; enumprocesses; enumprocessmodules; exitprocess; fclose; findmodulecontainingaddress; findprocessandthreadforevent; findprocessbyid; fopen; formatmessage; fprintf; getcommandline; getcurrentprocess; getdevicedriverbasenamea; getdevicedriverbasenamew; getdevicedriverfilenamea; getdevicedriverfilenamew; getenv; getfileattributes; getlasterror; getmappedfilenamea; getmappedfilenamew; getmodulebasenamea; getmodulebasenamew; getmodulefilenameexa; getmodulefilenameexw; getmodulehandle; getmoduleinformation; getpriorityclass; getprocessmemoryinfo; getthreadcontext; getwschanges; initializelisthead; initializepfmon; initializeprocessforwswatch; insertheadlist; inserttaillist; islistempty; lazyload; loadapplicationfordebug; localalloc; localfree; mapdebuginformation; openprocess; printf; processpfmondata; queryworkingset; removeentrylist; removeheadlist; removetaillist; setpriorityclass; setsymbolsearchpath; setthreadcontext; sprintf; strcat; strchr; strnicmp; symgetsymfromaddr; syminitialize; symloadmodule; unmapdebuginformation; va_end; va_start; waitfordebugevent; zeromemory