Home » Tag Archives: Debugging

Tag Archives: Debugging

Supercharged jstack: How to Debug Your Servers at 100mph

A guide for using jstack to debug live Java production servers jstack is like U2 – it’s been with us since the dawn of time, and we can’t seem to be rid of it. Jokes aside, jstack is by far one of the handiest tools in your arsenal to debug a live production server. Even so, I still feel it’s deeply underused ...

Read More »

Write an auto-debugger to catch Exceptions during test execution

Previously I have stated that there are some exceptions you would always want to keep an debugger breakpoint on for. This help prevents code rotting away without you noticing – sometimes masking a different problem. If you take this seriously then it is a good idea to extend this idea to you automated testing; but coming up with a comprehensive ...

Read More »

Hunting a Random Bug – A True Story


A few weeks ago, I finished a bug hunt for the RapidFTR open source project, which took me three evenings. I thought it might be worth sharing the story of the hunt. This article will describe what I did. I will give an overview of my journey to actually find the root cause of what was going on. My goal ...

Read More »

Fixing Bugs that can’t be Reproduced

There are bugs that can’t be reproduced, or at least not easily: intermittent and transient errors; bugs that disappear when you try to look for them; bugs that occur as the result of a long chain of independent operations or cross-request timing. Some of these bugs are only found in high-scale production systems that have been running for a long ...

Read More »

Fixing Bugs – if you can’t reproduce them, you can’t fix them

‘Generally, if you can’t reproduce it, it’s almost impossible to fix’. Anonymous programmer, Practices of Software Maintenance, Janice Singer Fixing a problem usually starts with reproducing it – what Steve McConnell calls “ stabilizing the error”. Technically speaking, you can’t be sure you are fixing the problem unless you can run through the same steps, see the problem happen yourself, ...

Read More »

Debugging the JVM

In some (rare) cases you might find yourself in the situation that you managed to crash the JVM itself. I most recently managed this by setting the name of a ThreadGroup to null. In these cases it is useful to debug the JVM itself so that the crash can be located more precisely. Here are the steps to do it ...

Read More »

How to solve production problems

At my job, I’m finding that a large percentage of the questions that come to my desk are “Hey this thing you did is broken” or “Hey, this thing you worked with is on the fritz.” 99% of the time, I’d have no idea why the behavior they were asking about was occurring! However, I think I’ve got a great ...

Read More »

Debugging a Production Server – Eclipse and JBoss showcase

Do you write code that has bugs? No, of course not. For the rest of us, mere mortals, who do write code with bugs, I would like to address a very sensitive issue: debugging an application that runs on a production server. So, your application is ready for deployment. Unit tests were all successful, testers found some minor bugs that ...

Read More »

Want to take your Java skills to the next level?

Grab our programming books for FREE!

Here are some of the eBooks you will get:

  • Spring Interview QnA
  • Multithreading & Concurrency QnA
  • JPA Minibook
  • JVM Troubleshooting Guide
  • Advanced Java
  • Java Interview QnA
  • Java Design Patterns