|
Abort Program button (SUPERASSERT), 123
AboutBoxIcon registry key, 427
accessing symbols information, 202
ACT (Application Compatibility Toolkit), 702
ActiveX controls (OCXs), where they load, 52–57
AD command (WinDBG), 379
Add( ) (TraceListener classes), 100
ADD instruction (x86), 313
AddCrashHandlerLimitModule function, 550
add-ins for Visual Studio .NET, 408, 424–436
fixing Add-In Wizard output, 426–429
in managed code, debugging, 423
managed property pages, creating, 433–436
SettingsMaster, 444–452
SuperSaver, 438–444
tool windows, creating, 430–432
toolbar button issues, 429–430
Additional Mini Dump Information section (SUPERASSERT), 125
AddVectoredExceptionHandler function, 517
advanced breakpoints (Visual Studio .NET Debugger), 214–228
Breakpoints dialog box, 217–222
Breakpoints window, 215
child breakpoints, 222
in dynamically loaded DLLs, 301
four tips on setting, 215–217
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 in dynamically loaded DLLs, 301
advanced breakpoints (WDBG), 195–200
advanced breakpoints (WinDBG), 379–382
Breakpoint Disable command (WinDBG), 380
Breakpoint Enable command (WinDBG), 380
Breakpoint List command (WinDBG), 380
memory access breakpoints, 381–382
AeDebug key, 164
AL command (WinDBG), 379
aliasing, WinDBG, 379
AllocationHook function (MemStress), 695–697
Allow Service To Interact With Desktop, 570
Anakrino utility, 266, 768
!analyze extension command (WinDBG), 388
AND instruction (x86), 327
Angel, Dave, 115
AppDomain-wide breakpoints, 222–223
Append Log File command (WinDBG), 375
Application Compatibility Toolkit (ACT), 702
application crashes, 7
application stressing, 694–697
AppVerifier utility, 702–707
AS command (WinDBG), 379
_ASSERT macro (C run-time library), 119–120
_ASSERTE macro (C run-time library), 119–120
ASM files, learning from, 351
__asm keyword, 310
ASP.NET applications assertions in, 103–113
tracing, 146–148
Visual Studio .NET Debugger with, 233
ASPTraceListener class, 104–107
assembly language (x86), 269–302
calling conventions, 316–322
common constructs, 336–337
structure and class references, 338
complete example, 339–341
debugging tips and tricks, 349–351
Disassembly window, using, 341–345
garbage code, 350
walking the stack manually, 346–347
instruction format and memory addressing, 307–309
instructions, list of, 310–316, 327–336
comparing and testing, 329
data manipulation, 327–329
jumping and branching, 329
looping, 332
string manipulation, 333–336
registers, 303–307, 350
variables and parameters, 322–326
Assert( ) (Debug, Trace classes), 95–97, 103–104
assert macro (C run-time library), 119–120
AssertControl control (example), 105–108
AssertHttpApplication class, 104
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
VERIFY macro, 116
.NET applications, 95–103
what to assert, 86–95
ASSERT_KINDOF macro (MFC), 120–121
ASSERT_VALID macro (MFC), 120–121
.ATTACH command (WinDBG), 369
Attach to Process command (WinDBG), 369
attaching to processes
services, 571–575
WinDBG, 369–371
auto memory evaluation, 295
Auto value (AeDebug key), 164
autoexpanding types (Watch window)
managed code, 241–243
native code, 283–291
AUTOEXP.DAT file, 284–286
automatic debugging, 168–170
automatic user interface testing, 35, 84, 151–153, 627–665
implementing, 638–665
keystroke and mouse recording, 653–665
notification and playback, 638–653
manual, 627–628
scheduling, 634
scripts for, 630–635
debugging scripts for, 634
future of, 665
recording scripts for, 635–638
requirements for, 629
|