From c130fb9d89a61a18d681f0ea943a2bd27807b9d5 Mon Sep 17 00:00:00 2001 From: Bryan Roe Date: Fri, 1 Mar 2019 13:36:50 -0800 Subject: [PATCH] Fixed bug that caused crash if you tried to attach a debugger when the module is missing --- microscript/ILibDuktape_Debugger.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/microscript/ILibDuktape_Debugger.c b/microscript/ILibDuktape_Debugger.c index e0daa59..edf5f3c 100644 --- a/microscript/ILibDuktape_Debugger.c +++ b/microscript/ILibDuktape_Debugger.c @@ -507,12 +507,17 @@ duk_ret_t ILibDuktape_Debugger_JSAttach_promise_wait(duk_context *ctx) duk_push_heap_stash(ctx); duk_get_prop_string(ctx, -1, ILibDuktape_Debugger_DebugObject); ILibDuktape_Debugger *dbg = (ILibDuktape_Debugger*)Duktape_GetBuffer(ctx, -1, NULL); - - listen(dbg->listener, 1); - ILibDuktape_Debugger_Socket_waitconn(dbg); - ILibDuktape_Debugger_StartMemoryReporting(dbg->ctx); - duk_debugger_attach(dbg->ctx, ILibDuktape_Debugger_ReadCB, ILibDuktape_Debugger_WriteCB, ILibDuktape_Debugger_PeekCB, NULL, NULL, NULL, ILibDuktape_Debugger_DetachCB, (void*)dbg); - + if (dbg == NULL) + { + printf("Error setting up debugger...\n"); + } + else + { + listen(dbg->listener, 1); + ILibDuktape_Debugger_Socket_waitconn(dbg); + ILibDuktape_Debugger_StartMemoryReporting(dbg->ctx); + duk_debugger_attach(dbg->ctx, ILibDuktape_Debugger_ReadCB, ILibDuktape_Debugger_WriteCB, ILibDuktape_Debugger_PeekCB, NULL, NULL, NULL, ILibDuktape_Debugger_DetachCB, (void*)dbg); + } return(0); }