Advanced Windows Debugging
K**S
The specifics are dated, the methodology is not
So I've had this book on my shelf almost 12 years as I bought it right before leaving a job that did windows dev and went to linux and never looked back. The pandemic had me digging deep into the stack of unread books and this finally got to the top of the list.While a lot of the book is focused on specific commands and OS primitives, I found this to be the only book I have ever read on how to use a debugger to find specific issues. Its like taking a seat next to the smartest guy on your team while he walks through a problem. There are sample programs and scenarios you walk through while finding bugs. My only gripes are that small scale samples make the surface area small- the problem comes when you have dozens of threads and a whole morass of code you only scratch the surface of. While I was able to follow the debug sessions, but putting them to use effectively is going to be more difficult.You will need a winxp vm to really play along with the examples.Overall though, this was the best book on debugging I have ever read. I wish something similar was around for gdb.
D**S
Unequaled
I have little to add to the effusive praise of previous reviewers. This is a one-of-kind book. An instant classic.Beware, however. As others have noted, this is definitely an _advanced_ book. If you're not comfortable with arcane command syntax, bits and bytes, and such this will be painful to incomprehensible for you. On the other hand, I dare say you will never be a true Master Debugger until you have a good grasp of this material.You would do well to start with Debugging Microsoft .NET 2.0 Applications or the now-unavailable Debugging Applications for Microsoft .NET and Microsoft Windows . Both will give you an easier introduction to WinDbg. The latter, older volume has much more information on native code debugging than the newer version. As they also cover the Visual Studio debugger in detail, most developers need go no further than one of these.Note that WinDbg _can_ be used with SOS and ADPlus to do some pretty fancy .NET debugging that isn't possible with Visual Studio alone. For that matter, the .NET CLR on Windows is implemented using the same Windows API as any native application. I've seen WinDbg used to trace bugs through C# application code down to find that the defect was actually in the CLR or Windows itself. John Robbins (author of the previously mentioned books) states in Chapter 6 of the latest version that "in our consulting work at Wintellect, which as you know works on the toughest bugs, we use WinDBG nearly 70 percent of the time."Don't ignore this book just because you program in .NET!Watch out for the font used in the listings though. Not being a master myself, I've been stumped for quite a while because the letter 'l' looks like the number '1' in the font they use. (I've been assiduously following the examples line-by-line).I also recall being stumped because of an error or two in the text, though I admit I can't find them now. These as you can imagine could be a serious problem given the arcane and undocumented nature of quite a bit of the material. Just make sure you check the errata periodically. Ironically, the errata web page for the book is not functioning at the moment...
G**E
A must have book for windows developers.
As a technical supervisor, one of the biggest problems I have is training our development teams in the use of the various debugging tools available. I purchased a copy of this book hoping it would help me in that training, and I was not disappointed.This book goes far beyond my expectations and provides insight into not only the use of the various debuggers, explaining how to set breakpoints and analyze memory locations, but it also goes into detail on how to debug some of the more insidious problems common to developers.The chapters on thread synchronization and stack and heap corruptions are excellent and provide invaluable insight into debugging these common problems. But more than that, the book outlines and gives instructions on using some of the lesser known debugging aids, such as the application verifier and the leak diagnosis tool, as well as writing your own debugger extensions.There is a chapter on post-mortem debugging, which goes into detail on using crash dump files, instructions on obtaining information from the Windows reporting service and a chapter on managing symbol and source files.Finally, there are chapters on debugging Vista applications, security problems, and interprocess communications.The authors are clearly masters of debugging windows applications, and this book stands alone in the field.I am a senior C++ engineer with over ten years of experience writing applications for windows and linux, and I found new information in every chapter, all of it easy to understand and well written.
R**K
Answer for the uncommon coder
This is a book for advanced MS Windows developers. It goes deeply into the debugging process and it doesn't have an introduction for beginners or intermediate programmers. This is a vintage 2008 book and has testing processes for Vista.The writing is dry and to the point but effective. I found the kernel dumps and the stack information to be time consuming and far too manual to be productive. I have found the people at Microsoft to be mired in this environment of command line investigation. They seem unable to creatively produce a tool to automate this process and produce a convenient process that is both effective and proper for programmers who aren't familiar with this intricate method of investigation.However, it is good to know how much time and training the process requires to produce detailed results.If you are trapped in the intricacies of debugging IPC, service errors, or long running problems this book may hold the answers. Otherwise, the answer to what you are looking to accomplish will be found in the standard debugging tools and error notification processes. Answer
�**�
Great book for low level engineers
In short this is the book you need if you are a low level analyst or software engineer.I ordered this book for a completely other reasons than the one I use it for.If like me you think that this is a software reverse-engineering book for binary code analysts with lot's of assembly language code then you'll be disappointed.However if for once you adopt a programmer's point of view and want to know how things works from a low level point of view then you'll enjoy this book.In short lots of c/c++ code, less binary code disassembly.
K**N
Windows Debugging
Loved it, very informative. One slight disappointment was in some of the diagrams when double clicked to enlarge, the screen went a grey colour and the text was hard or impossible to decipher.
B**.
Auch Debuggen muss gelernt werden
Dieses Buch ist ein absolutes Muss für jeden Software-Entwickler, der (zumindest teilweise) Software für Windows schreiben muss/will - und möglicherweise auch noch für viele andere.Software debuggen scheint für viele Entwickler etwas sehr selbstverständliches zu sein. Visual Studio hat man sowieso offen, also eben das Programm im Debugger starten, ein paar Breakpoints setzen und gucken, was passiert ... das reicht für viele Fehler tatsächlich. Und warum auch nicht, denn wenn es zum Debuggen irgendetwas zu wissen gäbe, hätte man es doch sicher mal im Studium behandelt - zumindest in meinem Studium hat man uns dazu aber nichts erzählt.Aber wenn dann ein komplizierterer Defekt auftritt, dann stellt man fest, dass man die internen Prozesse doch nicht gut genug versteht, um zu wissen, wie man vorgehen sollte. Dieses Buch hilft, einen Teil dieser Bildungslücke zu schließen. Der andere Teil ist natürlich Erfahrung, die das Buch leider nicht ersetzen kann. Aber wenigstens sorgt es dafür, dass man nicht ratlos auf den Monitor starren muss in der Hoffnung, dass eine spontane Eingebung den Fehler identifiziert.Ich habe mir das Buch sowohl privat als auch für die Firma direkt gekauft - so muss ich mein Buch zumindest nicht teilen.
C**R
Lob
für die Autoren, die in dem Buch Möglichkeiten gezeigt haben, von dem man nicht mal eine Ahnung hatte, daß es mit Hilfe von offiziellen MS-Tools sie selber nutzen kann, (z.B. Benutzung und Einrichtung lokaler oder öffentlicher Symbol Server), auch wenn man trotzdem noch manches probieren muß bis es so klappt wie man möchte.Auch antworten die Autoren schnell und freundlich - auch wenn sie ein Problem von mir nicht lösen konnten.Alles in allem: ein Muß für gute Entwickler (mit VC unter Windows, natürlich)
S**E
Ritiro
Il pacco è arrivato e l'ho ritirato.
Trustpilot
1 month ago
1 day ago