mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 23:25:24 +02:00
gcj.texi (libgcj Runtime Properties): Document gnu.gcj.runtime.NameFinder.show_raw and...
2006-06-05 David Daney <ddaney@avtrex.com> * gcj.texi (libgcj Runtime Properties): Document gnu.gcj.runtime.NameFinder.show_raw and gnu.gcj.runtime.NameFinder.remove_unknown. 2006-06-05 David Daney <ddaney@avtrex.com> * gnu/gcj/runtime/NameFinder.java (show_raw): New field. (showRaw): New method. * stacktrace.cc : Include gnu/gcj/runtime/StringBuffer.h. (getLineNumberForFrame): Show IP offset in trace if line number not available and show_raw true. From-SVN: r114437
This commit is contained in:
@@ -27,6 +27,7 @@ details. */
|
||||
#include <java/util/IdentityHashMap.h>
|
||||
#include <gnu/java/lang/MainThread.h>
|
||||
#include <gnu/gcj/runtime/NameFinder.h>
|
||||
#include <gnu/gcj/runtime/StringBuffer.h>
|
||||
|
||||
#include <sysdep/backtrace.h>
|
||||
#include <sysdep/descriptor.h>
|
||||
@@ -221,6 +222,17 @@ _Jv_StackTrace::getLineNumberForFrame(_Jv_StackFrame *frame, NameFinder *finder,
|
||||
finder->lookup (binaryName, (jlong) offset);
|
||||
*sourceFileName = finder->getSourceFile();
|
||||
*lineNum = finder->getLineNum();
|
||||
if (*lineNum == -1 && NameFinder::showRaw())
|
||||
{
|
||||
gnu::gcj::runtime::StringBuffer *t =
|
||||
new gnu::gcj::runtime::StringBuffer(binaryName);
|
||||
t->append ((jchar)' ');
|
||||
t->append ((jchar)'[');
|
||||
// + 1 to compensate for the - 1 adjustment above;
|
||||
t->append (Long::toHexString (offset + 1));
|
||||
t->append ((jchar)']');
|
||||
*sourceFileName = t->toString();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user