data, importance of saving, 364
data races, 426, 427-431, 430
Debug class, and tracing and instrumentation, 211-212
Debug configuration, Visual Studio
code optimization and, 147
described, 81
solution build configuration and, 132
Debug Setting in TimeServer's Web.config (code), 244
debug symbols
debug symbol files
importance of, 116
locating, 83-84
search paths, 131
management of, 140-143
symbol server, 142-143
symbols for applications, 140
symbols for framework SDK, 141
symbols for Windows , 140-141
DebuggableAttribute class, 79
DebuggerStepthroughAttribute, 253
Debugging Applications (Microsoft Press, 2000), 19-20
debugging, strategic issues. See VB .NET strategic debugging issues
debugging tools, 153-181. See also tracing and instrumentation; Visual Studio .NET debugger; Visual Studio .NET debugger, using
ADepends, 170-171
Cordbg, 153-157
commands, 155-156
use of, 153-155
Dbgclr, 157-158
Ildasm, 158-166
code, 159-166
from the command line, 158
within Visual Studio, 158
memorable bugs , 178-181
performance monitoring, 166-170
basics of, 166-167
testing string performance, 167-170
PermView, 171-177
basics of, 171-173
from the command line, 173
permissions, 173-177
within Visual Studio, 173
summary, 178
DebugMode Property, 234, 235, 236
DefaultTraceListener, 194-195
deployed Web services, debugging, 253-254
design, and tracing and instrumentation diagnosis, 187
developers
catching and swallowing System.Exception and, 377
confusion between compilers and, 53-55
debugging developer psychology. See also E&C
psychological factors, 25-28
error handling requirements of, 366-368
exceptions and, 361-362
diagnosis, tracing and instrumentation
application development team, 185
application end users, 184
application support team, 184-185
diagnostic categories, 185-187
diamonds ( ‹ ), and breakpoint state, 107
Disassembly windows
IDE debugging and, 117-118
Visual Studio debugging and, 76, 77
distributed debugging, 75
distributed systems, debugging, 459-484
distributed applications basics, 459-466
failure and, 459-464
leaky abstractions and, 466
message semantics and, 465-466
state and, 464-465
distributed systems, defined, 459
HeartbeatMonitor, 474-481
debugging, 477-481
installing, 475-477
introduction to, 474-475
How Good Are You?, 483-484
monitoring distributed applications, 481-482
remote debugging basics, 466-467
remote debugging preparation, 468-474
full remote debugging installation, 471-472
installation, 469-470
native remote debugging installation, 470-471
remote debugging restrictions, 472-474
summary, 483
distributed transactions, 462
Division By Zero (code), 59-61
DoSort function, 225, 226
Double Trouble (code), 67
doubles
ambiguous overloading and, 35
floating-point Double variables , 65-66, 67
dynamic binding, defined, 51
dynamic link libraries (DLLs). See class libraries