Revision: 13227
Author: [email protected]
Date: Mon Dec 17 02:50:19 2012
Log: Implement OS::DumpBacktrace() on FreeBSD.
Review URL: https://chromiumcodereview.appspot.com/11595004
Patch from Ben Noordhuis <[email protected]>.
http://code.google.com/p/v8/source/detail?r=13227
Modified:
/branches/bleeding_edge/src/platform-freebsd.cc
=======================================
--- /branches/bleeding_edge/src/platform-freebsd.cc Wed Dec 12 07:26:04 2012
+++ /branches/bleeding_edge/src/platform-freebsd.cc Mon Dec 17 02:50:19 2012
@@ -196,6 +196,31 @@
asm("int $3");
#endif
}
+
+
+void OS::DumpBacktrace() {
+ void* trace[100];
+ int size = backtrace(trace, ARRAY_SIZE(trace));
+ char** symbols = backtrace_symbols(trace, size);
+ fprintf(stderr, "\n==== C stack trace
===============================\n\n");
+ if (size == 0) {
+ fprintf(stderr, "(empty)\n");
+ } else if (symbols == NULL) {
+ fprintf(stderr, "(no symbols)\n");
+ } else {
+ for (int i = 1; i < size; ++i) {
+ fprintf(stderr, "%2d: ", i);
+ char mangled[201];
+ if (sscanf(symbols[i], "%*[^(]%*[(]%200[^)+]", mangled) == 1) { //
NOLINT
+ fprintf(stderr, "%s\n", mangled);
+ } else {
+ fprintf(stderr, "??\n");
+ }
+ }
+ }
+ fflush(stderr);
+ free(symbols);
+}
class PosixMemoryMappedFile : public OS::MemoryMappedFile {
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev