Index_S


S

/01 switch (CL.EXE), 61

S command (WinDBG), 367

sampling, 456

SatelliteDllName registry key, 427

SatelliteDllPath registry key, 427

SCAS instruction (x86), 333

scheduling

automatic unit tests, 634. See also unit tests

to avoid bugs, 8

installation program, building, 70

project planning, 9–13

time to build debugging systems, 41–66

debug symbols, 42–46

lightweight diagnostics for release builds, 65–66

managed code warnings, 46–48

native code warnings, 48–51

training to avoid bugs, 13, 20

SCM (Service Control Manager), 567, 575

SDK, Debugging Tools for Windows, 354

Seconds To Wait Before Inserting SLEEP Statements option (Tester), 637

security

buffer overrun checks, 61

buffer security check switch, 714

intellectual property protection, 250

preventing debugger access to Win32 programs, 160

string processing, debugging, 713

windows services, 568

segment registers, x86 CPU, 304

SEH (structured exception handling), 514–518

SEH frame, creating/destroying, 336

Sells, Chris, 491, 767

SendMessage function, 593

SendMessageTimeOut function, 593

server application tracing (FastTrace), 148, 717–722

implementation, 721–722

merging trace logs, 720–721

Service Control Manager (SCM), 567, 575

service identity, setting, 571

services, Web (XML)

assertions in, 103–113

documentation comments, 415–423

physical access to binaries, 250

timeout exceptions, 249

tracing, 146–148

services, Windows

basic characteristics, 566–568

API functions, 566–567

security, 568

debugging, 568–575

Allow Service To Interact With Desktop, 570

attaching to processes, 571–575

core code, 569

service identity, setting, 571

startup code, 575

Set Alias command (WinDBG), 379

Set Current Process/Thread command (WinDBG), 367

Set Exception commands (WinDBG), 382

Set Local Context command (WinDBG), 372

Set Locale command (WinDBG), 385

Set Next Statement command, 232–233, 345

SetBreakpoint function, 196

SetCrashHandlerFilter function, 549

SetCriticalSectionAndSpinCount function, 588

SetDeadlockDetectionOptions function, 599

SetEnterLeaveFunctionHooks method (ICorProfilerInfo), 480

SetEventMask method (ICorProfilerInfo), 458, 469

SetFastTraceOptions function (FastTrace), 719

SetFunctionIDMapper method (ICorProfilerInfo), 483

SetServiceStatus function, 567

_set_se_translator API, 524–525

SetSingleStep function, 198

setting breakpoints (Visual Studio .NET Debugger), 214–228

Breakpoints dialog box, 217–222

Breakpoints window, 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 in dynamically loaded DLLs, 301

tips on, 215–217

setting breakpoints (WDBG), 195–200

setting breakpoints (WinDBG), 379–382

Breakpoint Disable command (WinDBG), 380

Breakpoint Enable command (WinDBG), 380

Breakpoint List command (WinDBG), 380

memory access breakpoints, 381–382

SettingsMaster add-in, 444–452

SetUnhandledExceptionFilter function, 525–527

Shanholtz, Jeff, 502

.SHELL command (WinDBG), 385

.SHELL_QUIT command (WinDBG), 385

SHL instruction (x86), 328

short deadlines, 8

Show Includes property, 62

Show Number Formats command (WinDBG), 385

Show Progress property, 64

/showincludes switch (CL.EXE), 62

SHR instruction (x86), 328

Shutdown method (ICorProfilerCallback), 458, 460

single stepping (WDBG), 195–200

skills required for debugging, 19–22

skip count modifiers (location breakpoints), 224–226

Smaller Type Check property, 61

smoke tests, 68–70

Smooth Working Set (SWS) utility, 62, 727–747

future of, 747

how to use, 728–733

order file, 732–733

running applications with, 731–732

setting up SWS compiles, 729–731

implementing, 734–746

file format and symbol enumeration, 738–744

_penter function, 734–738

run time, 744–746

SnapCurrentProcessMiniDump function, 556, 590

SnapFastTraceFiles function (FastTrace), 720

SOAPscope utility, 768

SoftICE debugger, 163–164

Solitaire, replacing boss's mail program with, 170

Solomon, David A., 389, 766

Son of Strike (SOS) support, 235, 396–403

source files

DCRT library, 669

extracting from MAP files, 498–499, 504

Source Insight utility, 768

spinning critical sections, 587–588

SplitParams function, 411

Spool, Jared, 12

Stack Back Trace section (Dr. Watson), 757

stacks

checking (/RTCs switch), 707

infinite recursion and, 527

stack frames, 313, 324

Stack Walking section (SUPERASSERT), 125

StackTrace class, 98

StackWalk64 API, 202, 208

walking (WDBG), 208

StackTrace class, 98

StackWalk64 API, 202, 208

Standard Template Library (STL), 49, 51, 374, 589

starg instruction (ILDASM), 261

StartDebugging function, 92

starting automatically in debuggers, 168–170

StartPoint property (code elements), 418

StartServiceCtrlDispatcher function, 567

startup code, services, 575

static versions of CRT libraries, 677–678

__stdcall call (x86), 317, 318

stelem instruction (ILDASM), 261

Step command (WinDBG), 374

Step Into/Over/Out (WDBG), 209–210

Step to Next Call command (WinDBG), 374

stepping through code

DebuggerStepThroughAttribute attribute, 245

SetSingleStep function, 198

WDBG debugger

basic functionality, 209–210

breakpoints and single stepping, 195–200

stack walking, 200–208

WinDBG debugger, 373–378

stepping through the stack, 346–347

stfld instruction (ILDASM), 262

STL (Standard Template Library), 49, 51, 374, 589

store instructions (ILDASM), 261–262

STOS instruction (x86), 333

STRESS.EXE program, 694

stressing applications, 694–697

string manipulation instructions (x86), 333–336

string processing, 713

Strip Private Symbols property, 64, 65

STRSAFE library, 713

Struct Member Alignment property, 60

structure references (x86), 338

structured exception handling (SEH), 514–518

SUB instruction (x86), 312

subexpression breakpoints, 217

Sullivan, Ed, 762

SUPERASSERT macro, 121–142, 299–301

implementation highlights, 127–142

SuperSaver add-in, 438–444

SuspendDeadlockDetection function, 600

Swift, Jonathan, 350

SWS (Smooth Working Set) utility, 62, 727–747

future of, 747

how to use, 728–733

order file, 732–733

running applications with, 731–732

setting up SWS compiles, 729–731

implementing, 734–746

file format and symbol enumeration, 738–744

_penter function, 734–738

run time, 744–746

SX commands (WinDBG), 382

!sym extension command (WinDBG), 365

SymbolEngine project, 203

symbols

debugging, 42–46

native debugging, 298. See also native code

SWS utility, enumerating, 738–744

symbol servers, building, 71–81

symbol tables and engines (WDBG), 200–208

SymbolEngine project, 203

Watch window formatting, 280–283

WinDBG debugger, 357, 362–366

building symbol server, 357

SYMSRV.DLL file, 73

SYMSTORE.EXE utility, 78

synchronization and multithreaded programming, 581–626

CreateThread and ExitThread functions, 588–589

DeadlockDetection utility, 595–624

DeadDetExt extension, 598, 610

future of, 624

high-level issues, 596–598

how to use, 598–601

implementing, 601–624

requirements for, 595–596

local storage, accessing, 337, 485

low-level multithreading, 583–587

multiprocessor machines, 592

names of threads, setting in native code, 276

obtaining thread identifiers, 240

TEB (thread environment block), 368

TIB (thread information block), 304, 336, 368

tips and tricks, 581–592

code reviews, 591

deadlock dumps in the field, 590

default memory manager, 589–590

discrete pieces, using, 583

minimizing amount of multithreading, 582

spinning critical sections, 587–588

testing on multiprocessor machines, 592

tracing performance, 718–719

System account, 568, 571

system DLLs, breakpoints on, 271–274

System.Exception class, 41




Debugging Applications for Microsoft. NET and Microsoft Windows
Debugging Applications for MicrosoftВ® .NET and Microsoft WindowsВ® (Pro-Developer)
ISBN: 0735615365
EAN: 2147483647
Year: 2003
Pages: 177
Authors: John Robbins

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net