Amazon.com: How Debuggers Work: Algorithms, Data Structures, and Architecture (9780471149668): Jonathan B. Rosenberg: Books
How Debuggers Work and over one million other books are available for Amazon Kindle. Learn more

Buy New

or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
Buy Used
Used - Good See details
$10.86 & eligible for FREE Super Saver Shipping on orders over $25. Details

or
Sign in to turn on 1-Click ordering.
 
   
Kindle Edition
 
   
More Buying Choices
Have one to sell? Sell yours here
How Debuggers Work: Algorithms, Data Structures, and Architecture
 
 
Start reading How Debuggers Work on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

How Debuggers Work: Algorithms, Data Structures, and Architecture [Paperback]

Jonathan B. Rosenberg (Author)
3.3 out of 5 stars  See all reviews (11 customer reviews)

List Price: $54.99
Price: $40.14 & this item ships for FREE with Super Saver Shipping. Details
You Save: $14.85 (27%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Want it delivered Monday, February 27? Choose One-Day Shipping at checkout. Details
Textbook Student FREE Two-Day Shipping for students on millions of items. Learn more

Formats

Amazon Price New from Used from
Kindle Edition $36.13  
Paperback $40.14  

Book Description

September 27, 1996 0471149667 978-0471149668 1
A 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/

Frequently Bought Together

Customers buy this book with Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming) $38.72

How Debuggers Work: Algorithms, Data Structures, and Architecture + Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming)


Editorial Reviews

From the Publisher

Debuggers are tools to help remove bugs from software. Virtually all programmers and software developers are utilizing debuggers, but few know how to interpret the results they obtain from them. Using a hands- on, problem-solving approach, this unique reference explains how debuggers work, why programmers use them, and then discusses the algorithms involved in the debugging process.

From the Back Cover

A 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/

Product Details

  • Paperback: 272 pages
  • Publisher: Wiley; 1 edition (September 27, 1996)
  • Language: English
  • ISBN-10: 0471149667
  • ISBN-13: 978-0471149668
  • Product Dimensions: 9.3 x 7.5 x 0.6 inches
  • Shipping Weight: 1.2 pounds (View shipping rates and policies)
  • Average Customer Review: 3.3 out of 5 stars  See all reviews (11 customer reviews)
  • Amazon Best Sellers Rank: #949,171 in Books (See Top 100 in Books)

More About the Authors

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

11 Reviews
5 star:
 (3)
4 star:
 (1)
3 star:
 (5)
2 star:    (0)
1 star:
 (2)
 
 
 
 
 
Average Customer Review
3.3 out of 5 stars (11 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

55 of 58 people found the following review helpful:
1.0 out of 5 stars Superficial, Short: Skip it!, January 20, 2001
By 
ThomasH (Santa Clara, CA USA) - See all my reviews
This review is from: How Debuggers Work: Algorithms, Data Structures, and Architecture (Paperback)
I recall the time, as I worked on a large parallel Unix debugger, and only slowly collected facts and scraps of necessary knowledge to progress. I always wondered, why not a single book was written, which would be solely devoted to the architecture, design and implementation of symbolic debuggers?

As I saw this book announced, my expectations were high. Could this be a help in organizing my knowledge about debuggers, collected so far from semi confidential industry reports or white papers, 3-4 dissertations, several implementations, plus some 10-15 conference papers with vague descriptions of implementations, claims of spectacular achievements or with mere theoretical ideas?

No, unfortunately this is not so. This book, or rather "a booklet" is very incomplete. It literally did not told me any single detail which I would not have known already. For example, missing is the description of the very standard Unix interface to control and hold a process. Since this is not a scientific book providing more generic foundations about process tracing (such as tracking of very long time running programs, replay techniques, generating snapshots etc. etc.) than I would at least expect a solid practice orientation. This should include a complete discussion of several assemblers and typical architectures, because they provide sometimes completely different means of implementing breakpoints, watchpoints or of support for threads. In many cases a debugger must be, or can be supported by a cooperating compiler. Several interesting ideas have been implemented in the back ends, which may greatly help supporting breakpoints, finding function prologues, dealing with exceptions and asynchronous signals. I also miss the specifications and a good comparison of the two most common formats holding symbolic information, Stabs and DWARF! Etc. etc., this list of missing facts and issues could go on and on.

Usually I call a book like this one "a blah blah novel." The author claims "I know something, but I will not tell what is it." Yes, there are debuggers, yes we can program them but a lot of code is necessary to do so, yes we can stop a process and advance it instruction by instruction. Yes, yes, I know all that.

I think that will have to keep waiting for a serious book about symbolic debugging! Any takers? If I only could write well...
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


19 of 21 people found the following review helpful:
3.0 out of 5 stars Good if you are only interested in theory and not practice, May 5, 1998
This review is from: How Debuggers Work: Algorithms, Data Structures, and Architecture (Paperback)
I have to disagree with the author. The purpose of learning about writing a debugger is to "write a debugger". Because there aren't *any* other books with practical code and examples, the author missed a golden opportunity to fill a gap.

My Win32 debugger has less than 200 lines of source code, so the assertion that debugger code is long and complex is completely false. The "concept" of debugging is a complex one, but the source code is not.

That's not to say that the book is completely useless. Some of the advice given in the book can not be found in any other resource. And without it, it probably would have taken me much longer to write my debugger. Writing a debugger is not as easy as writing any other kind of program, so the concepts covered in the book are important.

If you are interested in writing a Win32 debugger, my suggestion would be to get this book, but supplement it with an MSDN subscription (either online or on CDROM) and get the Microsoft Systems Journal CDROM with back-issues. With these three resources (and a LOT of patience) you'll be able to get your Win32 debugger up and running.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


12 of 13 people found the following review helpful:
5.0 out of 5 stars A Good introductory book, May 24, 2000
This review is from: How Debuggers Work: Algorithms, Data Structures, and Architecture (Paperback)
Considering there are practically *no* books around that deals with debugger theory, I would label it a pioneering effort from Mr. Rosenberg.

True that it side steps or do not discuss in detail issues which most debugger *writers* would want to know, I can understand why the author named the book 'How debuggers Work' instead of 'How to write debuggers' or 'Debugger writing: Principles and Techniques' etc. Still it gets you going and clear lots of necessary concepts.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews









Only search this product's reviews



Inside This Book (learn more)
First Sentence:
Having presented some of the possible varieties of debuggers in Chapter 1, I will focus the rest of this book on the algorithms, data structures, architecture, and inner workings of the most commonly used type of debugger: the symbolic (maps underlying machine representation back to user-created source code), graphical user-interface-based (presents windows or views of different aspects of the underlying application to the user in an interactive,windows-based fashion), application-oriented debugger (focused on user-written applications, not operating system components). Read the first page
Key Phrases - Statistically Improbable Phrases (SIPs): (learn more)
debuggee stops, debuggee process, debug notification, breakpoint object, special breakpoint instruction, breakpoint activation, internal breakpoints, instruction pointer address, debugging optimized code, application being debugged, special breakpoints, debugger kernel, debugging tables, process being debugged, logical breakpoints, debugger architecture, debug registers, debug event, branch delay slot, reverse execution, symbol table information, temporary breakpoint, program being debugged, stack view, most debuggers
Key Phrases - Capitalized Phrases (CAPs): (learn more)
All of Its Methods Described, Discovering Program Context, File Edit, Input Current, Multithreaded Debugging, Specialized Debugger Applications, Output Pointer, Input Debugger, Returns the Remotevalue
New!
Books on Related Topics | Concordance | Text Stats
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Back Cover | Surprise Me!
Search Inside This Book:




What Other Items Do Customers Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 

Your tags: Add your first tag
 

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums





Look for Similar Items by Category


Look for Similar Items by Subject