- tasklist.exe prints a list of all processes currently running.
- vadump.exe, available here can be used to look at the virtual address space of a process.
- windbg, available here, lets you get down and deep into a process. Looks to be frightenly like ddd and gdb I'm somewhat familiar with from my *nix development stints.
- The CLR Profiler, available here, will let you look at a passle of garbage collection issues, heap states, call trees, histograms for various allocations, and a bunch of other stuff.
- The Runtime Debugger (Cordbg.exe), works for managed code, plus its source code ships with VS.NET under the SDK Tools Developers Guide folder.
Friday, April 29, 2005
Hansleman's List: PIDs & Troubleshooting With Them
More from Scott Hansleman's list of what great developers should know: "What is a PID? How is it useful when troubleshooting a system?" A PID is a Proportional-Integral-Derivative, a device used to monitor and control temperature in a very precise fashion. PIDs are often added on to home espresso systems by techie espresso fanatics to get the utmost in water temperature stability during a shot. (Google "PID Sylvia" for hits) However, I think Hansleman most likely means in the .NET context, where PID would be a Process Identifier, a numeric label for each process running in a system. I'm short in practical experience debugging/troubleshooting in this environment, being in the position of just moving over to .NET development from other domains; however, Google searches brought up a wealth of interesting search hits on using various tools to search out memory leaks and performance issues. 'Akhune's Weblog' has as its single post a handy guide for using several differnet tools to delve into CLR performance issues. See also Rico Mariani's blog post here for similar details with a step-by-step walkthrough. Useful tools: