Datasheet

execution. In this example, the program is at the line 20 in function SearchDatabase. That
function was called by function
FindEmployee at line 17, and that function was called by the
Form_Load event handler. Double-click on a line to jump to the corresponding code in the pro-
gram’s call stack. This technique lets you move up the call stack to examine the code that called
the routines that are running. This can be a very effective technique when you need to find out
what code is calling a particular routine.
Figure 1-30: The Call Stack window shows which routines have called which to get to the
program’s current point of execution.
Threads This command displays the Threads window shown in Figure 1-31. A thread is a sep-
arate execution path that is running. A multithreaded application can have several threads run-
ning to perform more than one task at the same time. The Threads window lets you control the
threads’ priority and suspended status. The last line has the location
WindowsApplication1
.Form1.SearchDatabase
, indicating that this thread is executing the SearchDatabase rou-
tine in the Form1 module in program
WindowsApplication1. The arrow on the left indicates
that this is the currently active thread.
Figure 1-31: The Threads window displays information about the program’s
threads of execution.
Right-click a thread and select Freeze to suspend it. Select Thaw to make it resume execution.
Double-click a thread or right-click it and select Switch To Thread to activate that thread.
Modules This command displays the Modules window shown in Figure 1-32. This window
displays information about the DLL and EXE files used by the program. It shows each module’s
file name and path. It indicates whether the module is optimized, whether it is your code (ver-
sus an installed library), and whether debugging symbols are loaded. Scrolled off the right edge
29
IDE
571982 ch01_2.qxd 1/19/06 1:15 PM Page 29