|
R command (WinDBG), 369, 379
RaiseException function, 516, 520
reading debugger memory (WDBG), 192–195
reading MAP files, 493–501
extracting information from, 498–499
PDB2MAP utility, 499–501
understanding contents of, 495–498
ReadProcessMemory function, 176, 192
Reagan, Ronald, 84
REBASE.EXE utility, 54–57
rebasing DLLs, 52, 54–57
Record Focus Changes With Mouse Clicks And Double Clicks (Tester), 636
Recorder application, 628
recording Tester scripts, 635–638
Rector, Brent, 767
Red Time, 36
Reflector utility, 768
registers, x86 assembly language, 303–307, 350
Registers command (WinDBG), 369, 379
RegisterServiceCtrlHandlerEx function, 567
Registry changes for add-ins, 426
regular commands, WinDBG, 361
release builds
breaking, 67
debug builds, 67, 70
frequency of, 67–68
full debugging symbols in, 42–46
handlers, scheduling time for, 41–66
lightweight diagnostics for release builds, 65–66
organizing build settings, 444–452
reproducing, 38
symbol servers, building, 71–81
/RELEASE switches (LINK.EXE), 64
release vs. debug CRT libraries, 677–678
.RELOAD command (WinDBG), 364, 395
Reload Module command (WinDBG), 364, 395
relocated DLLs, 53
remote debugging
managed code, 247–249
native applications, 291–294
Remote Desktop Connection and Debugger.Launch, 107–108
Remove( ) (TraceListener classes), 100
REP instruction (x86), 334
REPE instruction (x86), 334
REPNE instruction (x86), 334
repeating bug occurrences, 24
reproducing builds, 38
requirements
documenting, 9–13
for debugging, 19–22
_resetstkoflw function, 527
resetting hit count, 226
resource leaks, 7
checking for, without utilities, 727
MemDumperValidator extension, 678–694
resources for developers, 761–769
ResumeDeadlockDetection function, 600
RET instruction (x86), 315–316
rethrowing exceptions, 476
return values
asserting, 90
for error conditions, 41
_ReturnAddress function, 557, 613
reverse engineering, 22
Anakrino utility, 266
ILDASM (Microsoft Intermediate Language Disassembler), 249–266
alternative tools, 266
important instructions, list of, 259–265
tree output descriptions, 251
.NET Reflector utility, 266
reviewing code, 15, 36
assertions, 85–142
ASP.NET applications and services, 103–113
checking assumptions, 90. See also condition checking
DCRT assertion support, 668
how to assert, 88–89
ignoring, 126–127
native C++ applications, 113–142
types of assertions, 118–142
what to assert, 86–95
heap checking, 697–699
integer underflow/overflow checking, 58
memory leak checking, 7
checking for, without utilities, 727
MemDumperValidator extension, 678–694
memory overruns, 701–707
multithreaded programming, 591. See also threading
operating system heap checking, 697–699
run-time checking, 61
Richter, Jeffrey, 475, 517, 764, 767
Ritchie, Dennis M., 765
Roeder, Lutz, 266
/rootsuffix switch, 437
Rosenberg, Jonathan B., 210, 764
round-trip disassemblers, 254
_RPTFn macro (DCRT), 668
_RPTn macro (DCRT), 668
/RTC switch (CL.EXE), 61
/RTCx switches, 707–713
run time, working set tuning and, 744–746
Run To Cursor option (Visual Basic .NET Debugger), 217
run-time checking, 61
run-time error check switches, 707–713
Russinovich, Mark, 53, 97, 143, 168, 389, 574, 575, 576, 766, 769
|