From efdf97e1ad9b5d46e836bb39bf329f7dbf0ec68c Mon Sep 17 00:00:00 2001 From: Philipp Marek Date: Wed, 26 Feb 2014 21:15:05 +0100 Subject: [PATCH] Convenience function for printing "cl_object"s from GDB. --- src/util/gdbinit | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/util/gdbinit b/src/util/gdbinit index 2f318278d..5233a8a3a 100644 --- a/src/util/gdbinit +++ b/src/util/gdbinit @@ -14,3 +14,21 @@ break FEinvalid_function set confirm off handle SIGBUS nostop handle EXC_BAD_ACCESS nostop pass noprint + + +macro define NIL (cl_symbols) +macro define T (cl_symbols+1) + +define ecl_print + set $cl_debug_stream = ecl_make_string_output_stream(4096, 0) + + #set $cl_debug_void = ecl_princ( $arg0, $cl_debug_stream) + #print $cl_debug_stream->stream.object0->base_string.self + #set $cl_debug_stream->stream.object0->base_string.fillp = 0 + + set $cl_debug_imm = 3 & (long)x + print (cl_type)($cl_debug_imm ? $cl_debug_imm : x->d.t) + + set $cl_debug_void = si_write_ugly_object( $arg0, $cl_debug_stream) + print $cl_debug_stream->stream.object0->base_string.self +end