]> git.cworth.org Git - apitrace/commitdiff
retrace: Dump call number on exceptions.
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Thu, 22 Nov 2012 14:46:06 +0000 (14:46 +0000)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Thu, 22 Nov 2012 14:46:06 +0000 (14:46 +0000)
retrace/retrace_main.cpp

index 27ff2b4d705c73526c46db95a72a16d6003e8e8f..a59ee9ae81f3f4aecbdd8b6501a77eaf3f05bffb 100644 (file)
@@ -545,6 +545,13 @@ longOptions[] = {
     {0, 0, 0, 0}
 };
 
+
+static void exceptionCallback(void)
+{
+    std::cerr << retrace::callNo << ": error: caught an unhandled exception\n";
+}
+
+
 extern "C"
 int main(int argc, char **argv)
 {
@@ -645,6 +652,8 @@ int main(int argc, char **argv)
         retrace::profiler.setup(retrace::profilingCpuTimes, retrace::profilingGpuTimes, retrace::profilingPixelsDrawn);
     }
 
+    os::setExceptionCallback(exceptionCallback);
+
     for (i = optind; i < argc; ++i) {
         if (!retrace::parser.open(argv[i])) {
             return 1;
@@ -654,6 +663,8 @@ int main(int argc, char **argv)
 
         retrace::parser.close();
     }
+    
+    os::resetExceptionCallback();
 
     // XXX: X often hangs on XCloseDisplay
     //retrace::cleanUp();