aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/bindings/wtf-bindings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/bindings/wtf-bindings.cpp')
-rw-r--r--src/bun.js/bindings/wtf-bindings.cpp22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/bun.js/bindings/wtf-bindings.cpp b/src/bun.js/bindings/wtf-bindings.cpp
index 78b88ad5e..699e3db5b 100644
--- a/src/bun.js/bindings/wtf-bindings.cpp
+++ b/src/bun.js/bindings/wtf-bindings.cpp
@@ -23,26 +23,26 @@ extern "C" void Bun__crashReportDumpStackTrace(void* ctx)
void* stack[framesToShow + framesToSkip];
int frames = framesToShow + framesToSkip;
WTFGetBacktrace(stack, &frames);
+ int size = frames - framesToSkip;
bool isFirst = true;
- WTF::StackTraceSymbolResolver { { stack, static_cast<size_t>(frames) } }.forEach([&](int frameNumber, void* stackFrame, const char* name) {
- if (frameNumber < framesToSkip)
- return;
-
+ for (int frameNumber = 0; frameNumber < size; ++frameNumber) {
+ auto demangled = WTF::StackTraceSymbolResolver::demangle(stack[frameNumber]);
+
StringPrintStream out;
if (isFirst) {
isFirst = false;
- if (name)
- out.printf("\n%-3d %p %s", frameNumber, stackFrame, name);
+ if (demangled)
+ out.printf("\n%-3d %p %s", frameNumber, stack[frameNumber], demangled->demangledName() ? demangled->demangledName() : demangled->mangledName());
else
- out.printf("\n%-3d %p", frameNumber, stackFrame);
+ out.printf("\n%-3d %p", frameNumber, stack[frameNumber]);
} else {
- if (name)
- out.printf("%-3d %p %s", frameNumber, stackFrame, name);
+ if (demangled)
+ out.printf("%-3d ??? %s", frameNumber, demangled->demangledName() ? demangled->demangledName() : demangled->mangledName());
else
- out.printf("%-3d %p", frameNumber, stackFrame);
+ out.printf("%-3d ???", frameNumber);
}
auto str = out.toCString();
Bun__crashReportWrite(ctx, str.data(), str.length());
- });
+ }
} \ No newline at end of file
6&follow=1'>Update build-idGravatar Jarred Sumner 1-1/+1 2022-06-22cleanupGravatar Jarred Sumner 6-719/+3 2022-06-22Update index.d.tsGravatar Jarred Sumner 1-0/+1 2022-06-22types for `bun:jsc`Gravatar Jarred Sumner 2-1/+37 2022-06-22Slightly customize the `events` polyfill so it uses ESMGravatar Jarred Sumner 1-1/+522 2022-06-22Fix memory bugs in escapeHTML & arrayBufferToStringGravatar Jarred Sumner 1-65/+61