]> git.cworth.org Git - apitrace/commitdiff
Print a warning on incomplete calls.
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Tue, 17 May 2011 19:43:14 +0000 (20:43 +0100)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Tue, 17 May 2011 19:43:14 +0000 (20:43 +0100)
Useful for GL crashes.

trace_model.cpp
trace_parser.cpp

index 2821cc557a08a0db770a062b1c8da66d3cfb27c1..e8bb3e41ce761302678f4dea889a07289184b805 100644 (file)
@@ -317,7 +317,11 @@ public:
         os << bold << call->sig->name << normal << "(";
         for (unsigned i = 0; i < call->args.size(); ++i) {
             os << sep << italic << call->sig->arg_names[i] << normal << " = ";
-            _visit(call->args[i]);
+            if (call->args[i]) {
+                _visit(call->args[i]);
+            } else {
+               os << "?";
+            }
             sep = ", ";
         }
         os << ")";
index 104485a5e31201a060a7a717f9925aa3704654a6..30df3f9345a6de4ec92eb2d2f0a7a7f78bceacc1 100644 (file)
@@ -113,6 +113,10 @@ Call *Parser::parse_call(void) {
             std::cerr << "error: unknown event " << c << "\n";
             exit(1);
         case -1:
+            for (CallList::iterator it = calls.begin(); it != calls.end(); ++it) {
+                std::cerr << "warning: incomplete call " << (*it)->name() << "\n";
+                std::cerr << **it << "\n";
+            }
             return NULL;
         }
     } while(true);