1.1 About Managed Stack Explorer
2. Using Managed Stack Explorer
2.3.1 Getting information about a process
2.3.2 Viewing a process's threads
2.3.5 Auto refreshing the thread list
2.3.6 Auto refreshing stack traces
2.3.7 Periodically logging stack traces
Managed Stack Explorer (MSE) is a lightweight tool that
provides a quick and easy way to monitor managed processes and their stacks.
The ability to view a programs stack and how it changes over time is an
important method in determining reasons for possible errors or hand. MSE
provides a simple interface to allow you to monitor multiple processes at once
and build periodic stack log files. MSE works by quickly attaching to a process
when a stack trace is requested and the detaching the second the stack trace
has been retrieved. This way the interference in the normal operation of the
process is minimized.
Managed Stack Explorer is both a command line tool as well as a graphical tool.
If you pass in parameters to the program the program will run as a command line
program. However, if you just execute the program’s executable then it will
open up as a GUI.
MSE currently comes with 2 files: MSE.exe, CorApi2.dll. As long as these for files are together in the same directory MSE will work.
MSE is a .NET 2.0 program and therefore can only get the stack trace of other .NET 2.0 programs.
General information about any managed process is provided by just clicking on it in the process list. The group box below will populate with some useful information about the process. If you want to customize the data shown just right click on the group box and choose customize
To view all the threads of a process just double click the process in the list. This will load the list of managed processes. A double click is required here because getting the list of managed threads requires a quick attach and detach to the program. Once you double click a list of managed threads will populate the thread list box.
Once you have a list of the managed threads you can view the stack trace of any or all of the threads. Just highlight the ones you want and press enter (or hit the view stack trace button in the toolbar). This will open the stack trace panel which displays the stack for the threads you selected.
When the stack pane is open you can either press Control + S or press the save button in the toolbar to save the stack trace to a file.
In the toolbar there is an auto refresh thread list button. Clicking this button will cause the list of threads to automatically update periodically. This behavior isn't on by default because update the thread list requires MSE to attach and detach from the process.
In the toolbar there is an auto refresh stack trace button. Clicking this button will cause the currently viewed stack trace to automatically update periodically. This behavior isn't on by default because updating the stack trace requires MSE to attach and detach from the process.
This is one of the most important features of MSE. This allows you to build a log file over time of the stacks of several processes and specific threads in those processes. This allows you to view a file which shows how the stack trace of a process changes over time. To start stack logging choose the threads of a process you want to log the stack of and press the log stack button in the toolbar. This will make the threads in the thread list and the process in the process list you are logging turn yellow. This will keep logging until you chose the process and press the stop log button.
To get instructions on the command line attributes of MSE call "MSE /?" from the command line.
Managed Stack Explorer © 2005 Microsoft Corporation