diff options
author | Andrew Haley <aph@redhat.com> | 2006-02-17 13:01:40 +0000 |
---|---|---|
committer | Andrew Haley <aph@gcc.gnu.org> | 2006-02-17 13:01:40 +0000 |
commit | 24ca2a963aabc8157443c3a39f9fdc2bb728ca49 (patch) | |
tree | 179d83a836d62ac3b99fbbd0d3cbcefb187c1752 /libjava/gnu | |
parent | 25f2dfd3404beff90dce23e349907f11adbfb69e (diff) | |
download | gcc-24ca2a963aabc8157443c3a39f9fdc2bb728ca49.zip gcc-24ca2a963aabc8157443c3a39f9fdc2bb728ca49.tar.gz gcc-24ca2a963aabc8157443c3a39f9fdc2bb728ca49.tar.bz2 |
stacktrace.cc (GetStackTraceElements): Call gnu::gcj::runtime::NameFinder::removeUnknown() to determine if...
2006-02-16 Andrew Haley <aph@redhat.com>
* stacktrace.cc (GetStackTraceElements): Call
gnu::gcj::runtime::NameFinder::removeUnknown() to determine if
non-Java frames should be removed from a printed stack trace.
Pass methodName to getLineNumberForFrame().
(getLineNumberForFrame): Set method_name from info.dli_sname.
* gnu/gcj/runtime/NameFinder.java (removeUnknown): New method.
(remove_unknown): New variable.
* include/java-stack.h (_Jv_StackTrace::getLineNumberForFrame):
Add methodName arg.
From-SVN: r111181
Diffstat (limited to 'libjava/gnu')
-rw-r--r-- | libjava/gnu/gcj/runtime/NameFinder.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libjava/gnu/gcj/runtime/NameFinder.java b/libjava/gnu/gcj/runtime/NameFinder.java index 4c629bb..3a31a2d 100644 --- a/libjava/gnu/gcj/runtime/NameFinder.java +++ b/libjava/gnu/gcj/runtime/NameFinder.java @@ -34,6 +34,9 @@ import java.util.HashMap; * source file and line number info. Throwable.printStackTrace() will * be faster if this property is set to 'false'. * </ul> + * <ul><code>gnu.gcj.runtime.NameFinder.remove_unknown</code> + * Whether calls to unknown functions (class and method names are unknown) + * should be removed from the stack trace. </ul> * </li> * * <code>close()</code> should be called to get rid of all resources. @@ -57,6 +60,18 @@ public class NameFinder ("gnu.gcj.runtime.NameFinder.use_addr2line", "true") ).booleanValue(); + private static final boolean remove_unknown + = Boolean.valueOf(System.getProperty + ("gnu.gcj.runtime.NameFinder.remove_unknown", "true") + ).booleanValue(); + + // Return true if non-Java frames should be removed from stack + // traces. + static final boolean removeUnknown() + { + return remove_unknown; + } + class Addr2Line { Process proc; |