Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Debugging applications

    Debugging applications

    Robbins, John · 2000

    Software EngineeringProgramming
    Open LibraryAmazon
    Stats for nerds
    4recommend
    5mentions
    4people
    2009–2017years
    100% recommend

    Mentions per year

    200920102011201220132014201520162017

    What Hacker News says

    1. lovelearningJul 2017
      Two techniques that have helped me:

      1. Diagrams that help visualize what's happening. I prefer a hybrid of sequence, timeline and activity diagrams. I don't have a ready example at hand, but [1] comes close to what I use. YMMV though - I know some team members in my past jobs preferred state transitions to these, because they found them clearer to think through.

      2. A technique we used during team reviews was borrowed from the book "Debugging Applications" by John Robbins [2]. Although the book was about debugging Windows applications, it had good tips on general software engineering and debugging, and I still recommend it now. One technique in it was the multithread simulation review - an excerpt:

      The trick is to assign one person to each thread in your code and one person to each synchronization object. When you review the code, pretend that each thread is running at realtime priority on its own dedicated CPU. Each "thread person" walks through the code paying attention only to the particular code that his thread is supposed to be executing. When the "thread person" is ready to acquire a synchronization object, the "object person" literally moves behind the "thread person." When the "thread person" releases a synchronization object, the "object person" goes to a neutral corner of the room. In addition to the thread and object representatives, you should have some developers who are monitoring the overall thread activity so that they can assess the program's flow and help determine the points at which different threads deadlock.

      Obviously, you need a number of like-minded and enthusiastic team members to carry it off.

      [1]: http://community.qnx.com/sf/wiki/do/viewAttachment/projects....

      [2]: https://www.amazon.com/Debugging-Applications-DV-MPS-Program...

      thread
    2. adolgertMar 2015
      "Debugging Applications" by John Robbins is an old MS Press book, now 43 cents on Amazon, that covers everything from high level code structure to a nice primer on reading x86 assembly. I have more recent books, but this is the one that taught me to gird my coding loins for a fight.
      thread
    3. jasodeNov 2014
      I don't know if the intended for the list to be an audience of experienced .NET programmers who already write quality code.

      However, he didn't qualify his "top 10" books which one could interpret as the 10 most important for any audience. If that's the interpretation, I propose a much different list which I think is more universal and applicable for a top-10:

      Effective C# (Covers C# 4.0): 50 Specific Ways to Improve Your C#, 2nd Edition, By Bill Wagner

      http://www.informit.com/title/0321658701

      More Effective C#: 50 Specific Ways to Improve Your C#, By Bill Wagner

      http://www.informit.com/title/0321485890

      Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2e, By Krzysztof Cwalina, Brad Abrams

      http://www.informit.com/title/0321545613

      C# 5.0 in a Nutshell, 5e, The Definitive Reference, By Joseph Albahari, Ben Albahari

      http://shop.oreilly.com/product/0636920023951.do

      Debugging Applications for Microsoft® .NET and Microsoft Windows®, John Robbins (This book is old but one can get more up-to-date info from the free .NET debugging tutorials on channel9.msdn.com)

      http://www.microsoft.com/mspress/books/5822.aspx

      http://channel9.msdn.com/Series/-NET-Debugging-Stater-Kit-fo...

      Improving .NET Application Performance and Scalability

      http://www.microsoft.com/en-us/download/details.aspx?id=1171...

      CLR via C#, 4e, By Jeffrey Richter (If a person on the team is writing low-level foundation components, the knowledge in this book is a must. Otherwise, most C# developers writing line-of-business code can skip it.)

      https://www.microsoftpressstore.com/store/clr-via-c-sharp-97...

      [In other words, I would substitute 7 of the article's suggested top-10 books with the ones above. If education time is limited, I'd rather a developer read the 2 Bill Wagner "Effective C#" books as priority over the Martin Fowler "Patterns" books.]

      thread
    4. adolgertNov 2010
      K&R's _C Programming Language_, because my father saw me start to write Schrodinger's equation in BASIC and said I should take a look.

      Stroustrup's _The C++ Programming Language_, twice in a row, because I didn't want to be left out for not having taken Computer Science.

      Butelhof's _Programming with Posix Threads_, because another book referenced its explanation of why Win32 threading had a bug because it could not, at the time, signal and wait on a mutex in an atomic way. There was something deep to find in those rowboats and bucket stories.

      GoF's _Design Patterns: Elements of Reusable Object-Oriented Software_, because when I complained to a mentor that I was struggling to organize a dozen scientist programmers, he handed it to me, laughing.

      John Robbins, _Debugging Applications_, first edition, because it was the first time for me that code didn't have the disclaimer, "of course you should insert error-handling code here." Basic x86 assembly in one chapter!

      thread
    5. slpsysNov 2009
      It's in a handful of canonical texts. I first encountered it in the first few pages of Debugging Applications, by John Robbins; the updated .NET version is great, but even the original Win32 edition is full of gems, just like Code Complete.
      thread

    Related

    Cover of Debugging
    2009–2026

    Debugging

    David J. Agans
    17 recommend · 22
    Cover of Advanced windows debugging
    2016–2026

    Advanced windows debugging

    Mario Hewardt
    5 recommend · 7
    Cover of Debugging the development process
    2011–2022

    Debugging the development process

    Steve Maguire
    6 recommend · 9
    The art of debugging with GDB, DDD, and EclipseNorman S. Matloff
    2014–2015

    The art of debugging with GDB, DDD, and Eclipse

    Norman S. Matloff
    2 recommend · 2
    Cover of Effective Debugging
    2020–2023

    Effective Debugging

    Diomidis Spinellis
    2 recommend · 3
    Cover of Programming Pearls
    2007–2026

    Programming Pearls

    Jon Bentley
    158 recommend · 315
    Cover of Algorithmic program debugging
    2017–2022

    Algorithmic program debugging

    Ehud Yehuda Shapiro
    2 recommend · 6
    Cover of Advanced .NET debugging
    2015–2016

    Advanced .NET debugging

    Mario Hewardt
    3 recommend · 3