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/ |
Other editions - View all
Common terms and phrases
algorithm allow architecture array basic branch delay slot branch instruction breakpoint instruction byte call stack cause child process compiler compiler optimization complete data structures debug API debug event debug information debuggee process debuggee stops debugger's debugging support decode disassemble environment example exception fault frame pointer function call global GUI applications GUI debugger hardware implement Input internal breakpoint interpreter Java kernel line number linker loop mapping memory Method Module load multithreaded notification NTVDM object occur operating system optimizations physical breakpoint problems procedure processor program counter ptrace record registers remote RemoteField RemoteValue requires return address RISC routine run-time saved scope setting a breakpoint shows single single-step Smalltalk source code source statement source view special breakpoint specified stack frame step String symbol table thread tion TOOLHELP trace typically UNIX user interface variable watchpoint windows message