summaryrefslogtreecommitdiffstats
path: root/tester
diff options
context:
space:
mode:
authorRyan Long <ryan.long@oarcorp.com>2021-10-08 15:20:50 -0400
committerJoel Sherrill <joel@rtems.org>2021-10-13 11:40:54 -0500
commit958aa5b805616d2f06a839c113a2c6cf64537603 (patch)
tree2698ee2f223573b0986b3fb70b24e31e82fe11b4 /tester
parenttester: Fix rtems-test installation (diff)
downloadrtems-tools-958aa5b805616d2f06a839c113a2c6cf64537603.tar.bz2
TraceConverter.cc: Add catch for exception
CID 1471639: Add catch for exception Closes #4501
Diffstat (limited to 'tester')
-rw-r--r--tester/covoar/TraceConverter.cc45
1 files changed, 29 insertions, 16 deletions
diff --git a/tester/covoar/TraceConverter.cc b/tester/covoar/TraceConverter.cc
index 16c69d4..4a24bd4 100644
--- a/tester/covoar/TraceConverter.cc
+++ b/tester/covoar/TraceConverter.cc
@@ -78,20 +78,21 @@ int main(
char** argv
)
{
- int opt;
- Trace::TraceReaderLogQEMU log;
- Trace::TraceWriterQEMU trace;
- const char *cpuname = "";
- const char *executable = "";
- const char *tracefile = "";
- const char *logname = "/tmp/qemu.log";
- Coverage::ExecutableInfo* executableInfo;
- rld::process::tempfile objdumpFile( ".dmp" );
- rld::process::tempfile err( ".err" );
- Coverage::DesiredSymbols symbolsToAnalyze;
- bool verbose = false;
- std::string dynamicLibrary;
- int ec = 0;
+ int opt;
+ Trace::TraceReaderLogQEMU log;
+ Trace::TraceWriterQEMU trace;
+ const char *cpuname = "";
+ const char *executable = "";
+ const char *tracefile = "";
+ const char *logname = "/tmp/qemu.log";
+ Coverage::ExecutableInfo* executableInfo;
+ rld::process::tempfile objdumpFile( ".dmp" );
+ rld::process::tempfile err( ".err" );
+ Coverage::DesiredSymbols symbolsToAnalyze;
+ bool verbose = false;
+ std::string dynamicLibrary;
+ int ec = 0;
+ std::shared_ptr<Target::TargetBase> targetInfo;
setup_signals();
@@ -128,9 +129,21 @@ int main(
usage();
}
+
// Create toolnames.
- std::shared_ptr<Target::TargetBase>
- targetInfo( Target::TargetFactory( cpuname ) );
+ try
+ {
+ targetInfo.reset( Target::TargetFactory( cpuname ) );
+ }
+ catch ( rld::error re )
+ {
+ std::cerr << "error: "
+ << re.where << ": " << re.what
+ << std::endl;
+ ec = 10;
+
+ return ec;
+ }
Coverage::ObjdumpProcessor objdumpProcessor( symbolsToAnalyze, targetInfo );