/* -*- mode: C++; c-basic-offset: 4; indent-tabs-mode: nil; -*- */ // SPDX-License-Identifier: MIT OR LGPL-2.0-or-later // SPDX-FileCopyrightText: 2009 Red Hat, Inc. #include #include // for stderr #include #include #include #include #include "gjs/context.h" #include "gjs/jsapi-util.h" void gjs_context_print_stack_stderr(GjsContext *context) { JSContext *cx = (JSContext*) gjs_context_get_native_context(context); g_printerr("== Stack trace for context %p ==\n", context); js::DumpBacktrace(cx, stderr); } void gjs_dumpstack(void) { GjsSmartPointer contexts = gjs_context_get_all(); GList *iter; for (iter = contexts; iter; iter = iter->next) { GjsAutoUnref context(GJS_CONTEXT(iter->data)); gjs_context_print_stack_stderr(context); } }