diff options
author | Ryan Long <ryan.long@oarcorp.com> | 2021-08-19 15:29:31 -0400 |
---|---|---|
committer | Joel Sherrill <joel@rtems.org> | 2021-10-08 08:58:32 -0500 |
commit | 234c19e847611c7514198e0d9b091e92eb868a89 (patch) | |
tree | 5e2f293d91dc8a899be05292b988367e1a0416b7 | |
parent | ReportsBase.cc: Add assert for member variables (diff) | |
download | rtems-tools-234c19e847611c7514198e0d9b091e92eb868a89.tar.bz2 |
TraceConverter.cc: Add catch for exception
CID 1471639: Uncaught exception
Closes #4501
-rw-r--r-- | tester/covoar/TraceConverter.cc | 28 |
1 files changed, 21 insertions, 7 deletions
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; } |