anchor.diff:      var averageFixesTime = 0;
       var averageFormatTime = 0;
   
  -    switch (commandToRun.toLowerCase()) {
  -      case "all":
  -        averageCompilationTime = await testCompilation(src, compiler);
  -        averageCompletionTime = await testCompletions(src, wrapper);
  -        averageAnalysisTime = await testAnalysis(src, analyzer);
  -        averageDocumentTime = await testDocument(src, analyzer);
  -        averageFixesTime = await testFixes(src, wrapper);
  -        averageFormatTime = await testFormat(src);
  -        break;
  -
  -      case "complete":
  -        averageCompletionTime = await testCompletions(src, wrapper);
  -        break;
  -      case "analyze":
  -        averageAnalysisTime = await testAnalysis(src, analyzer);
  -        break;
  -
  -      case "document":
  -        averageDocumentTime = await testDocument(src, analyzer);
  -        break;
  -
  -      case "compile":
  -        averageCompilationTime = await testCompilation(src, compiler);
  -        break;
  -
  -      case "fix":
  -        averageFixesTime = await testFixes(src, wrapper);
  -        break;
  -
  -      case "format":
  -        averageFormatTime = await testFormat(src);
  -        break;
  -
  -      default:
  -        throw "Unknown command";
  +
  +    try {
  +      switch (commandToRun.toLowerCase()) {
  +        case "all":
  +          averageCompilationTime = await testCompilation(src, compiler);
  +          averageCompletionTime = await testCompletions(src, wrapper);
  +          averageAnalysisTime = await testAnalysis(src, analyzer);
  +          averageDocumentTime = await testDocument(src, analyzer);
  +          averageFixesTime = await testFixes(src, wrapper);
  +          averageFormatTime = await testFormat(src);
  +          break;
  +
  +        case "complete":
  +          averageCompletionTime = await testCompletions(src, wrapper);
  +          break;
  +        case "analyze":
  +          averageAnalysisTime = await testAnalysis(src, analyzer);
  +          break;
  +
  +        case "document":
  +          averageDocumentTime = await testDocument(src, analyzer);
  +          break;
  +
  +        case "compile":
  +          averageCompilationTime = await testCompilation(src, compiler);
  +          break;
  +
  +        case "fix":
  +          averageFixesTime = await testFixes(src, wrapper);
  +          break;
  +
  +        case "format":
  +          averageFormatTime = await testFormat(src);
  +          break;
  +
  +        default:
  +          throw "Unknown command";
  +      }
  +    } catch(e, stacktrace) {
  +
  +      print ("===== FAILING OP: $lastExecuted, offset: $lastOffset  =====");
  +      print (src);
  +      print ("=====                                                 =====");
  +      print (e);
  +      print (stacktrace);
  +      print ("===========================================================");
  +
  +      throw e;
       }
   
       print (
  
positive.code: }
  
  Future<num> testFixes(String src, analysis_server.AnalysisServerWrapper wrapper) async {
    Stopwatch sw = new Stopwatch()..start();
    for (int i = 0; i < src.length; i++) {
      Stopwatch sw2 = new Stopwatch()..start();
  
      if (i % 1000 == 0 && i > 0) print("INC: $i fixes");
      if (_SERVER_BASED_CALL) await server.fixesGet(source: src, offset: i);
      else await wrapper.getFixes(src, i);
  
  
negative.code:     [seed = 0]
      [mutations per iteration = 2]
      [iterations = 5]
      [name of command to test = ALL]
      [dump server communications = false]''');
  
      io.exit(1);
    }
  