|
How Debuggers Work : Algorithms, Data Structures, and Architecture
 |
Author: Jonathan B. Rosenberg List Price: $50.00 Our Price: Click to see the latest and low price ISBN: 0471149667 Publisher: John Wiley & Sons (27 September, 1996) Edition: Paperback Sales Rank: 74,790 Average Customer Rating: 3.62 out of 5
|
Customer ReviewsRating: 3 out of 5 Very superficial, and moreover, fragmented If there were any alternative books on the topic, I'd give this one 1 star, rather than 3. But for some reason there aren't any, so one has to be extra charitable. The book is EXTREMELY superficial, badly structured, fragmentary, it truly looks like a few unrelated white papers written by a younger colleague/research assistant bound together and published under the head honcho's name, a hasty, half-hearted affair. Since this is the only thing in print covering the topic, you can't go wrong reading it, but don't expect to gain much. Perhaps working through the gdb's source code is better. Well, there's no question, of course, it's better because it's a real thing, but you might want to read this book as well, it does contain randomly located bits and pieces of relevant information. It would be really great if it were reworked: cleaned up, meaningfully structured, and given more depth (as well as source code.) Not sure why that's not done--such a book would definitely be commercially successful. Rating: 4 out of 5 Quite useful short book I think this book deserves reading, espesially if you are a beginner in corresponding field. It covers main aproaches to debugging, describes difficulties of debugging, briefly describes functionality, provided by Unix and Windows and it mentions future trends in this field. I think, taking into account nearly total absence of any structured information about this field of computer science, this book deserves reading. Rating: 1 out of 5 Superficial, Short: Skip it! I recall, as I worked on a large parallel Unix debugger, I always wondered why not a single book was written 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 just providing some pure theoretical ideas?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, including a complete discussion of several assemblers and typical architectures, because they provide sometimes completely different means of implementing breakpoints, watchpoints or supporting threads. I also miss the specifications and a good comparison of the two most common formats holding symbolic information (Stabs and DWARF.) In many cases a debugger must be or can be supported by a cooperating compiler and 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. etc. etc. this list could go on this way. 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. We will still have to wait a bit longer for a serious book about symbolic debugging.
Similar Products
· Writing Compilers and Interpreters
· Hacker Disassembling Uncovered
· Linkers and Loaders
· Virtual Machine Design and Implementation in C/C++ (With CD-ROM)
· Programming Language Pragmatics
|