KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
When observing a StackOverflowError how to retrieve the full call stack? Consider this simple example: public class Overflow { public Overflow() { new Overflow(); } public static void a() { new Overflow(); } public static void main(String[] argv) { a(); } } Now the error reported is: Exception in thread "main" java.lang.StackOverflowError at Overflow.<init>(Overflow.java:11) [last line repeated many times] But I can't see the main and a method in the stack trace. My guess is this is because of overflow, the newest entry on the stack replaces the oldest one (?). Now, how to get the a and main stack entries in the output? The background is I get the a StackOverflowError (but that's not an infinite recursion, because it doesn't happen when increasing stack size) and it's hard to spot the problem in the code. I only get the multiple lines from java.util.regex.Pattern but not the information what code called that. The application is too complicated to set a breakpoint on each call to Pattern s.
Tags (comma-separated)
Save Edits
Cancel