From 677f59a10bf71b0bf1b73bfc9c1accbf719fafad Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Thu, 21 Feb 2013 13:08:13 +0000 Subject: [PATCH] trace_parser: More comprehensive debug output. It was useful to diagnose issue #110. --- common/trace_parser.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/common/trace_parser.cpp b/common/trace_parser.cpp index f3aea7e..095af67 100644 --- a/common/trace_parser.cpp +++ b/common/trace_parser.cpp @@ -30,6 +30,7 @@ #include #include "trace_file.hpp" +#include "trace_dump.hpp" #include "trace_parser.hpp" @@ -176,9 +177,15 @@ Call *Parser::parse_call(Mode mode) { int c = read_byte(); switch (c) { case trace::EVENT_ENTER: +#if TRACE_VERBOSE + std::cerr << "\tENTER\n"; +#endif parse_enter(mode); break; case trace::EVENT_LEAVE: +#if TRACE_VERBOSE + std::cerr << "\tLEAVE\n"; +#endif call = parse_leave(mode); adjust_call_flags(call); return call; @@ -466,11 +473,20 @@ bool Parser::parse_call_details(Call *call, Mode mode) { int c = read_byte(); switch (c) { case trace::CALL_END: +#if TRACE_VERBOSE + std::cerr << "\tCALL_END\n"; +#endif return true; case trace::CALL_ARG: +#if TRACE_VERBOSE + std::cerr << "\tCALL_ARG\n"; +#endif parse_arg(call, mode); break; case trace::CALL_RET: +#if TRACE_VERBOSE + std::cerr << "\tCALL_RET\n"; +#endif call->ret = parse_value(mode); break; default: @@ -570,7 +586,9 @@ Value *Parser::parse_value(void) { } #if TRACE_VERBOSE if (value) { - std::cerr << "\tVALUE " << value << "\n"; + std::cerr << "\tVALUE "; + trace::dump(value, std::cerr); + std::cerr << "\n"; } #endif return value; -- 2.43.0