How Debuggers Work: Algorithms, Data Structures, and ArchitectureA total guide to debuggers: what they do, how they work, and how to use them to produce better programs "Debuggers are the magnifying glass, the microscope, the logic analyzer, the profiler, and the browser with which a program can be examined."-Jonathan B. Rosenberg Debuggers are an indispensable tool in the development process. In fact, during the course of the average software project, more hours are spent debugging software than in compiling code. Yet, not many programmers really know how to constructively interpret the results they get back from debuggers. And even fewer know what makes these complex suites of algorithms and data structures tick. Now in this extremely accessible guide, Jonathan B. Rosenberg demystifies debuggers for programmers and shows them how to make better use of debuggers in their next projects. Taking a hands-on, problem-solving approach to a complex subject, Rosenberg explains how debuggers work and why programmers use them. Most importantly, he provides practical discussions of debugger algorithms and procedures for their use, accompanied by many practical examples. The author also discusses a wide variety of systems applications, from Microsoft's Win32 debug API to a large parallel architecture. Visit our Web site at: http://www.wiley.com/compbooks/ |
Contents
DEBUGGER ARCHITECTURE | 21 |
HARDWARE DEBUGGER FACILITIES | 39 |
OPERATING SYSTEM DEBUGGER INFRASTRUCTURE | 55 |
Copyright | |
13 other sections not shown
Other editions - View all
Common terms and phrases
able active actually algorithm allow application array basic block branch breakpoint cause child common compiler completely computation context continue created data structures debugger described detect effects eliminated environment error evaluation event example exception execution exist expression Figure frame function give handle implement important inspect instruction interface interpreter issue Java language loaded loop machine mapping memory messages methods module needs notification object occur once operating system optimizations original passed performance physical pointer possible present problems procedure processor record remote requires routine saved scope shows single single-step source code space specified stack standard statement step stop stored String structures symbol table thread tion tool trace typically usually variable wait Windows