summaryrefslogtreecommitdiffstats
path: root/tester
diff options
context:
space:
mode:
authorRyan Long <ryan.long@oarcorp.com>2021-08-19 15:29:31 -0400
committerJoel Sherrill <joel@rtems.org>2021-10-08 08:58:32 -0500
commit234c19e847611c7514198e0d9b091e92eb868a89 (patch)
tree5e2f293d91dc8a899be05292b988367e1a0416b7 /tester
parentReportsBase.cc: Add assert for member variables (diff)
downloadrtems-tools-234c19e847611c7514198e0d9b091e92eb868a89.tar.bz2
TraceConverter.cc: Add catch for exception
CID 1471639: Uncaught exception Closes #4501
Diffstat (limited to 'tester')
-rw-r--r--tester/covoar/TraceConverter.cc28
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;
}