Index_T


T

T command (WinDBG), 374

tailcall exit function, 480

Tanenbaum, Andrew S., 767

Task Manager, 573, 727

TC command (WinDBG), 374

TCP/IP for remote native code debugging, 292–294

TEB (thread environment block), 368

technologies, understanding, 20

terminating MemBumperValidator in C++, 692–693

Terminal Services, Remote Desktop Connection

and Debugger.Launch, 107–108

test apps (unit tests), 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, 634

future of, 665

recording, 635–638

requirements for, 629

test harness. See unit tests

TEST instruction (x86), 329

Tester utility (user interface testing)

implementing, 638–665

keystroke and mouse recording, 653–665

notification and playback, 638–653

manual, 627–628

scheduling tests, 634

scripts for, 630–635

debugging scripts for, 634

future of, 665

recording scripts for, 635–638

requirements for, 629

testers, role of, 84

testing

code verification, 84, 151–153

multithreaded applications, 592. See also

threading

plans for, 18

smoke tests, 68–70

user interface tests, 35, 84, 151–153, 627–665

future of, 665

implementing, 638–665

manual, 627–628

requirements of, 629

scheduling, 634

scripts for, 630–635

verifying bug fixes, 28

x86 instructions, 329

text aliasing (WinDBG), 379

TextWriterTraceListener class, 97

this call (x86), 317, 319

thread environment block (TEB), 368

thread identifiers, obtaining, 240

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

thread local storage, accessing, 337, 485

thread names, setting in native code, 276

Thread Status command (WinDBG), 368

threading (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

WinDBG, 366–371

!threads extension command (WinDBG), 398

!threadtoken extension command (WinDBG), 388

throw keyword, 518

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

time intervals, WST and, 739

timeout exceptions, XML web services, 249

TimeOut property (web services), 249

timing code in Watch window, 283

.TLIST command (WinDBG), 369

TLIST.EXE utility, 355, 574

Toggle Source Line Support command (WinDBG), 374

!token extension command (WinDBG), 388

tool windows, add-ins, 430–432

toolbar buttons in add-ins, 429–430

tools, understanding your own, 20

tools for debugging, 27

bug tracking systems, 33, 38–40

version control systems, 33–38, 40

labeling, 37

when to make changes, 36–37

Trace and Watch Data command (WinDBG), 374–378

Trace class (System.Diagnostic), 95–96, 144–146

Trace command (WinDBG), 374

TRACE macro, 148

Trace to Next Call command (WinDBG), 374

TraceContext.Trace class, 146–148

TraceListener class, 96–103, 144

TraceSwitch class, 145–146

tracing, 142–148

ASP.NET applications, 146–148

DCRT library assertion support, 668

Event Tracing system, 66

EventLogTraceListener class, 97

FastTrace utility, 717–722

implementation, 721–722

merging trace logs, 720–721

flow tracing (Profiler API), 479, 484–488

native C++ applications, 148

.NET applications, 144–146

performance of, 718–719

TraceListener class, 96–103, 144

TraceSwitch class, 145–146

web services, 146–148

WinDBG debugger, 373–378

tracking

bugs, 38–40

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

object lifetime, 524

version control, 33–38, 40

labeling, 37

when to make changes, 36–37

training to avoid bugs, 13, 20

translating EXCEPTION_POINTERS structures, 551–553

trimming white space from files, 438–444

trust-and-verify approach, 84, 151–153

try keyword, 518

__try/__except statements, 514

__try/__finally statements, 514

TuneModule function (SWS), 744

tuning (performance), 6

of BUGSLAYERUTIL.DLL, 678

critical sections, spinning, 587–588

data breakpoints, 277–280

default memory manager, 589–590

exception monitoring in native code, 296–298

exceptions, when to use, 475

logging depth and, 66

mixed-mode debugging, 247

multithreaded programming 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

operating system heap checking, 697

relocated DLLs, 54

server application tracing, 718–722

smoke test benchmark, 69

timing code in Watch window, 283

tools, 27

working set tuning, 723–747

SWS utility, 727–747

WST utility, 726

types, expanding automatically (Watch window)

managed code, 241–243

native code, 283–291




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