Note that there are some explanatory texts on larger screens.

plurals
  1. POAutomated Exception Handling
    text
    copied!<p>I was wondering if something exists (in Java world) able to take an snapshot of the JVM current state with the following features:</p> <ul> <li>Do it while an exception is being thrown.</li> <li>Capture local variables, method's arguments, etc.</li> <li>Put it in a handy file which can be used to extract or reproduce in a IDE the situation in your source code.</li> </ul> <p>The two first features are required (third would be awesome). And it must be suitable for production use (so, there is no way about debuggers).</p> <p>Before asking this I've searched through the WWW (as long as possible) and I found some pointers:</p> <ul> <li><a href="http://www.cajoon.com" rel="nofollow noreferrer">Cajoon Interceptor</a>: As said in <a href="http://www.dzone.com/links/java_production_errors_rapid_resolution.html" rel="nofollow noreferrer">Dzone post</a>, it's a passive JVM agent which fulfill the three requirements! But, it has two downsides: you must pay for it and the site is down (maybe there is no chance to pay anything).</li> <li><a href="http://www.avicode.com/" rel="nofollow noreferrer">AviCode Intercept Studio</a>: Cajoon's .NET equivalent. Just to give some insight about.</li> <li><a href="http://twitter.com/thobe/status/1012650896" rel="nofollow noreferrer">JavaFrame</a>: Ok, it's a tweet, but it points to a available SVN repo which have the source code (under MIT license) of a JVM agent which looks fine (I'm going to give a try to it).</li> </ul> <p>So, maybe I'm looking for a non existent solution? It's not urgent, but I had this idea for a project and it would be great to explore this "unknown" (?) path and get something real.</p> <p>It seems to be clear that it would be a JVM agent (exception event from JVMTI, for <a href="http://java.sun.com/developer/technicalArticles/Programming/jvmti/" rel="nofollow noreferrer">example</a>).</p> <p>At last, I would highlight the followin paragraph from <a href="http://en.wikipedia.org/wiki/Exception_handling" rel="nofollow noreferrer">Wikipedia's Exception Handling article</a>:</p> <blockquote> <p>In runtime engine environments such as Java or .NET, there exist tools that attach to the runtime engine and every time that an exception of interest occurs, they record debugging information that existed in memory at the time the exception was thrown (call stack and heap values). These tools are called Automated Exception Handling or Error Interception tools and provide 'root-cause' information for exceptions.</p> </blockquote> <p>That's the idea. I hope somebody can give me some insight or maybe, in the future, somebody get inspired by this humble post :)</p> <p>Thanks!</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload