From 234c19e847611c7514198e0d9b091e92eb868a89 Mon Sep 17 00:00:00 2001 From: Ryan Long Date: Thu, 19 Aug 2021 15:29:31 -0400 Subject: TraceConverter.cc: Add catch for exception CID 1471639: Uncaught exception Closes #4501 --- tester/covoar/TraceConverter.cc | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) (limited to 'tester/covoar') diff --git a/tester/covoar/TraceConverter.cc b/tester/covoar/TraceConverter.cc index 0f32efb..16c69d4 100644 --- a/tester/covoar/TraceConverter.cc +++ b/tester/covoar/TraceConverter.cc @@ -91,6 +91,7 @@ int main( Coverage::DesiredSymbols symbolsToAnalyze; bool verbose = false; std::string dynamicLibrary; + int ec = 0; setup_signals(); @@ -140,13 +141,24 @@ int main( false, symbolsToAnalyze ); - else - executableInfo = new Coverage::ExecutableInfo( - executable, - "", - false, - symbolsToAnalyze - ); + else { + try + { + executableInfo = new Coverage::ExecutableInfo( + executable, + "", + false, + symbolsToAnalyze + ); + } + catch ( rld::error re ) + { + std::cerr << "error: " + << re.where << ": " << re.what + << std::endl; + ec = 10; + } + } // If a dynamic library was specified, determine the load address. if ( !dynamicLibrary.empty() ) @@ -156,4 +168,6 @@ int main( objdumpProcessor.loadAddressTable( executableInfo, objdumpFile, err ); log.processFile( logname, objdumpProcessor ); trace.writeFile( tracefile, &log, verbose ); + + return ec; } -- cgit v1.2.3