

If you don't see it, try searching for it by clicking the binoculars icon ("Find") and typing the process name (include its extension, e.g.

Launch Process Monitor and see if you can observe your process scrolling by under the Process Name column. As with all diagnoses, there may be several approaches you can take, but since this tip is focusing on Process Monitor we'll use its capabilities to see what's going on. You'd like to know if it's hung or if it is in fact doing something that you just can't detect at the moment. In this first scenario, imagine that you have a process running, but it doesn't seem to be doing anything. In this tip I'll show you how to actually use some of its features in diagnosis. I introduced this tool in the tip titled Understanding Process Monitor. It would also be nice if it did not require administrative privileges.Process Monitor from Sysinternals is a great diagnostic tool when you want to figure out what is going on with process and/or files. Another requirement which I didn't really state is that speed is fairly important I was planning on doing this for things like compiling a C++-file, and pulling up a full GUI which generates a 20 MB logfile will have prohibitive overhead. I'm really only interested in what files are opened, and if they are opened for read/write or just read. If I narrow down my requirements even further, it is probably enough to be able to monitor calls to CreateFile(). I'm aware of Process Monitor, but I would like to receive the data in a form which I can import into another program for further analysis. I want to do this programmatically from another process.

I'm primarily interested in running a process and figuring out which files it has read and written. On Linux I can probably get away using strace with suitable parameters, but how can I do this on Windows? I would like to be able to monitor certain system calls made by a process, primarily file I/O calls.
