]> git.cworth.org Git - apitrace/commitdiff
trace_parser: More comprehensive debug output.
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Thu, 21 Feb 2013 13:08:13 +0000 (13:08 +0000)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Thu, 21 Feb 2013 22:09:00 +0000 (22:09 +0000)
It was useful to diagnose issue #110.

common/trace_parser.cpp

index f3aea7e7cf482f26f69e74432691bcefbb75ab1c..095af670e2159f79299fdba9bc4e642cbb4ac5e4 100644 (file)
@@ -30,6 +30,7 @@
 #include <string.h>
 
 #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;