diff --git a/src/node_platform.cc b/src/node_platform.cc index 5a98b04f535bb0..a3e39df6ccce96 100644 --- a/src/node_platform.cc +++ b/src/node_platform.cc @@ -485,6 +485,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 24f7b337bb8fd7..bebd61b0c22644 100644 --- a/src/node_platform.h +++ b/src/node_platform.h @@ -169,6 +169,8 @@ class NodePlatform : public MultiIsolatePlatform { std::shared_ptr GetForegroundTaskRunner( v8::Isolate* isolate) override; + Platform::StackTracePrinter GetStackTracePrinter() override; + private: std::shared_ptr ForIsolate(v8::Isolate* isolate);