Debugging Applications for MicrosoftВ® .NET and Microsoft WindowsВ® (Pro-Developer)
|
B
64-bit portability, 60
BA command (WinDBG), 381
background automatic save to IDE, 438–444
Balena, Francesco, 764
base addresses, 57
Basic Runtime Checks property, 61
BD command (WinDBG), 380
BE command (WinDBG), 380
BeginInprocDebugging method (ICorProfilerInfo), 470
_beginthreadex function, 588
beq instruction (ILDASM), 263
beta 1 (feature complete), 68
bgt instruction (ILDASM), 263
Bilas, Scott, 122
binaries, packing functions into (working set tuning), 723–747
SWS utility, 62, 727–747
future of, 747
how to use, 728–733
implementing, 734–746
WST utility, 726
binary images, CrashFinder with, 502–511
binary manipulation instructions (x86), 328
bit sets, WST and, 739
bit-shift operators (x86), 328
BL command (WinDBG), 380
Black, Rex, 764
Blake, Russ, 727, 739
ble instruction (ILDASM), 263
Bloom, Scott, 502
blt instruction (ILDASM), 263
bne instruction (ILDASM), 263
books for developers, 762–767
BoundsChecker utility, 669
Box, Don, 766
box instruction (ILDASM), 264
BP command (WinDBG), 379
br instruction (ILDASM), 263
branch instructions
ILDASM, 263
x86, 329
Break Into Debugger button (SUPERASSERT), 123
break keys, 165
Break On Access command (WinDBG), 381
BREAKIN.EXE utility, 355
breaking the build, 67
breaking the smoke test, 69
breakpoints (Visual Studio .NET Debugger), 214–228
Breakpoints dialog box (Visual Studio .NET debugger), 217–222
Breakpoints window (Visual Studio .NET debugger), 215
child breakpoints, 222
in dynamically loaded DLLs, 301
location breakpoint modifiers, 224–227
conditional expressions, 226–227, 236–240, 274–275
hit counts, 224–226
multiple on single line, 227–228
native code, 269–280
conditional expressions, 274–275
data breakpoints, 277–280
system and exported functions, 271–274
per-thread breakpoints, 240
quickly breaking on functions, 217–224
setting, 215–217
in dynamically loaded DLLs, 301
problems using C# or J#, 220–221
breakpoints (WDBG), 195–200
breakpoints (WinDBG), 379–382
Breakpoint Disable command (WinDBG), 380
Breakpoint Enable command (WinDBG), 380
Breakpoint List command (WinDBG), 380
memory access breakpoints, 381–382
brfalse instruction (ILDASM), 263
brtrue instruction (ILDASM), 263
Brown, Keith, 568, 767
BSMDVINFO structure, 686
BU command (WinDBG), 379
buffer security check switch, 61, 714
bugs
caused by inadequate processes, 8–17
defined, 4–7
descriptions, 25
tracking systems, 33, 38–40
version control, 33–38, 40
labeling, 37
when to make changes, 36–37
DLL versions of CRT libraries, 678
full memory tracking, 678
MemDumperValidator extension, 678–694
deep validations, 687–688
implementing, 691–694
using with C, 686–687
using with C++, 685–686
MemStress extension, 694–697
builds
breaking, 67
debug, 67, 70
debugging systems, building, 41–66
debug symbols, 42–46
lightweight diagnostics for release builds, 65–66
managed code warnings, 46–48
native code warnings, 48–51
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
Burns, Robert, 207
|