From 5ec54cb5f290cb10c773ab276bb9686b21b2166b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Tue, 17 May 2011 20:43:14 +0100 Subject: [PATCH] Print a warning on incomplete calls. Useful for GL crashes. --- trace_model.cpp | 6 +++++- trace_parser.cpp | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/trace_model.cpp b/trace_model.cpp index 2821cc5..e8bb3e4 100644 --- a/trace_model.cpp +++ b/trace_model.cpp @@ -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 << ")"; diff --git a/trace_parser.cpp b/trace_parser.cpp index 104485a..30df3f9 100644 --- a/trace_parser.cpp +++ b/trace_parser.cpp @@ -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); -- 2.7.4