macros, and Visual Studio .NET debugger, 77
managed code
JIT debugging and, 91-92
vs. unmanaged, and COM Interop, 322
managed threads, terminating, 455-456
Me windows
IDE debugging and, 113
using to examine objects, 225-226
mean time between bugs (MTBB), 6
mean time between failures (MTBF)
availability and, 10, 14
reliability and, 6-7
mean time to recovery (MTTR), 12, 14
Member Overloading in VB .NET vs. C# (code), 36
memorable bugs, listed, 178-181
Memory windows
SQL debugging limitations and, 352
Visual Studio debugging and, 76, 77
message semantics, 465-466
Message System.Exception property, 371
method calls, local vs. remote, 459-460
Microsoft. See also symbol server; Visual Studio .NET debugger
ASP .NET and, 277
Microsoft Message Queue (MSMQ), 13
Microsoft Windows
remote debugging and
preparation, 468
restrictions, 473
symbols for Windows, management, 140-141
testing with fuzz, 307-308
Windows 2000
and gorilla testing, 308
remote debugging and, 473
Windows event log, for storing exceptions, 368
Windows NT 4.0
as requirement for SQL server debugging, 339
VB.Classic debugging and, 321
Windows XP, and remote debugging, 473
mode command, Cordbg, 155
Modules windows
application knowledge and, 76
debug symbols management and, 140
IDE debugging and, 115-116
MSMQ (Microsoft Message Queue), 13
MTBB (mean time between bugs), 6
MTBF (mean time between failures)
availability and, 10, 14
reliability and, 6-7
MTTR (mean time to recovery), 12, 14
multithreaded applications, debugging, 421-457
The 500-Mile E-mail bug, 456-457
basics of, 421-426
advantages, 423-424
difficulty of multihreading, 422-423
disadvantages, 425-426
IIS debugging, 282-283
multithreading in Windows Forms, 448-453
multithreading problems, 426-443
data races, 427-431
process deadlock, 431-439
process livelock , 439
thread starvation , 439-443
summary, 456
thread failure, 453-456
managed threads, terminating, 455-456
thread exceptions, 453-454
ThreadMonitor application, 443-448
uses of multithreading, 423-424