|
labeling, version control, 37
language, knowledge of, 20
Launch( ) (Debugger), 107
LD command (WinDBG), 363
ldarg instruction (ILDASM), 260
ldarga instruction (ILDASM), 260
ldc instruction (ILDASM), 260
ldelem instruction (ILDASM), 261
ldfld instruction (ILDASM), 260
ldlen instruction (ILDASM), 261
ldloc instruction (ILDASM), 260
ldloca instruction (ILDASM), 260
ldsfld instruction (ILDASM), 260
LEA instruction (x86), 314
learning from your bugs, 3, 30
LEAVE instruction (x86), 313
leave notifications, requesting (Profiling API), 480
LeBlanc, David, 568, 763
Lidin, Serge, 765
light vs. heavy debugging, 27
line number, extracting from MAP files, 498–499, 504
.LINES command (WinDBG), 374
linker switches for debugging native code, 59, 63–65
LINK.EXE switches, 63–65
/ORDER option, 725
List Aliases command (WinDBG), 379
List Debugger Extensions command (WinDBG), 387
List Loaded Modules command (WinDBG), 362–365, 395
List Process IDs command (WinDBG), 369
LIST.EXE utility, 355
little endian CPUs, 349
LM command (WinDBG), 362–365, 395
load addresses, specifying for DLLs, 55
.LOAD command (WinDBG), 387
load conflicts in DLLs, 52
Load Extension DLL command (WinDBG), 387
load instructions (ILDASM), 260–261
Load Symbols command (WinDBG), 363
LoadBehavior registry key, 426
LOAD_DLL_DEBUG_EVENT event, 175
LoadLibrary function, 599
LOCALASSIST.DLL file (WDBG), 192
LOCALDEBUG.DLL file (WDBG), 192
.LOCALE command (WinDBG), 385
Locals Depth list (SUPERASSERT), 124
LocalSystem account, 571
location breakpoints. See also breakpoints (Visual Studio .NET Debugger)
modifiers, 224–227
conditional expressions, 226–227, 236–240, 274–275
hit counts, 224–226
native code, 269–280
conditional expressions, 274–275
data breakpoints, 277–280
system and exported functions, 271–274
setting, 214–215
LOCK prefix (x86), 328
!locks extension command (WinDBG), 388
.LOGAPPEND command (WinDBG), 375
.LOGCLOSE command (WinDBG), 375
LOGGER.EXE utility, 355
logging
bug descriptions, 25
bugs, defined, 4–7
Dr. Watson log files, reading, 751–760
execution flow, 66
LOGGER.EXE utility, 355
tracing, 142–148
ASP.NET applications, 146–148
DCRT library assertion support, 668
Event Tracing system, 66
EventLogTraceListener class, 97
FastTrace utility, 717–722
flow tracing (Profiler API), 479, 484–488
native C++ applications, 148
.NET applications, 144–146
performance of, 718–719
TraceListener class, 96–103, 144
web services (XML), 146–148
WinDBG debugger, 373–378
tracking changes, 33–40
bug tracking, 38–40
full memory tracking (BUGSLAYERUTIL), 678
tracking heap memory (DCRT library), 667–676
features of, 668–669
new operator, 671–674
release CRT library vs., 677–678
turning on, 670
useful functions, 675–676
tracking object lifetime, 524
version control, 33–38, 40
labeling, 37
when to make changes, 36–37
logical operators (x86), 327
.LOGOPEN command (WinDBG), 375
LOGVIEWER.EXE utility, 355
LOOP instruction (x86), 332
looping instruction (x86), 332
Loosley, Chris, 763
low-level multithreading, 583–587. See also multithreaded programming
/LTCG switch (LINK.EXE), 64
|