Team LiB
Previous Section Next Section

Index

D

data, gathering when debugging remote customer sites, 148-149
data storage object, role in debugging cell phone example, 51
data stores, determining problems with, 53-54
date and time, obtaining, 94
deadlock threading bugs
debugging, 189-196
overview of, 176-177
recognizing, 180
debug asserts, 72-73. See also customized asserts
advisory about removal of, 67, 75-76
advisory about usage with legal cases, 75-76
aggressive use of, 71-72
benefits of, 63, 66
compiling to nothingness in Release mode, 70
customizing for use with ASP.NET pages and Web services, 77
customizing with TraceListeners, 80-85
versus error handling and logging, 62, 65
failure of, 62
finding points of failure with, 63-64
guidelines for use of, 76-85
launching debugger with, 61-62
overview of, 59-62
preparing for future with, 74
role of message boxes in, 60-61
using in services, 78-79
using with ASP.NET pages and Web services, 77, 79
using with remote objects, 80
using with Windows services, 76-77
Debug class, System.Diagnostics.Trace class used with, 68
Debug mode
displaying message boxes in, 61
using with debug asserts, 64
debugger
attaching, 115, 118-119
attaching to running processes in ASP.NET, 118
choosing for use with debug asserts, 83-84
detaching, 120
detaching from processes, 8
example of, 6
freezing threads in, 183-186
launching with debug asserts, 61-62
results of installation of, 25
stepping over code in, 29-34
using for tracing purposes, 29
using with ASP.NET, 114-121
viewing threads in, 170-171
choosing starting point for, 53-54
deductive reasoning applied to, 56
difficulties associates with remote customer sites, 141-145
ensuring for products at customer sites, 28
establishing theories for, 37
finding point of failure for, 46
managing goals and subgoals of, 17
.NET contribution to, 4-8
practicing with different forms of, 28
role of intuition in, 37-38
setting goals for, 36
simplifying strategies for, 17-18
with SourceSafe, 233-248
states of, 36
testing guidelines for, 37
debugging advice
bug fixes as means to end of making programs work, 15-18
bug investigation, 12-14
managing inconsistent functionality, 18-21
using test computers without debugging tools, 24-28
debugging skills, improving, 3-4
defect tracking software
collaborating with tech support by means of, 220-221
collaborating with testers by means of, 217-220
communicating with teammates by means of, 216-221
getting maximum benefits from, 213
guidelines for creation of, 205
learning from past mistakes with, 212
maximizing use of PRs with, 215
overview of, 200-205
providing estimates of project status with, 213
searching and reporting in, 209-216
developers
allowing collaboration using SourceSafe, 227
guidelines for working with customer bugs, 154
using defect tracking software to collaborate with, 216-217
development workflow. See workflows
diagnostic utilities, overview of, 147-150
diffing files with SourceSafe
before checking in, 241-242
example of, 230
diffs, using with SourceSafe, 233
digital certificates, analyzing Server Variables ASP.NET traces of, 129
directories, structuring with SourceSafe, 226
DLL functions
result of loading at runtime in Windows, 20-21
verifying installation when logging, 155-156
DONT_RESOLVE_DLL_REFERENCES flag, purpose of, 23
DoUselessStuff function, fixing with lock statement, 174

Team LiB
Previous Section Next Section