diff --git a/src/node_platform.cc b/src/node_platform.cc index 4e3a6dbc279f39..4be929c7ee3a6d 100644 --- a/src/node_platform.cc +++ b/src/node_platform.cc @@ -513,6 +513,14 @@ TracingController* NodePlatform::GetTracingController() { return tracing_controller_; } +Platform::StackTracePrinter NodePlatform::GetStackTracePrinter() { + return []() { + fprintf(stderr, "\n"); + DumpBacktrace(stderr); + fflush(stderr); + }; +} + template TaskQueue::TaskQueue() : lock_(), tasks_available_(), tasks_drained_(), diff --git a/src/node_platform.h b/src/node_platform.h index e47d72b3662f92..79aad88b881f6b 100644 --- a/src/node_platform.h +++ b/src/node_platform.h @@ -174,6 +174,8 @@ class NodePlatform : public MultiIsolatePlatform { std::shared_ptr GetForegroundTaskRunner( v8::Isolate* isolate) override; + Platform::StackTracePrinter GetStackTracePrinter() override; + private: IsolatePlatformDelegate* ForIsolate(v8::Isolate* isolate); std::shared_ptr ForNodeIsolate(v8::Isolate* isolate);