From 958aa5b805616d2f06a839c113a2c6cf64537603 Mon Sep 17 00:00:00 2001 From: Ryan Long Date: Fri, 8 Oct 2021 15:20:50 -0400 Subject: TraceConverter.cc: Add catch for exception CID 1471639: Add catch for exception Closes #4501 --- tester/covoar/TraceConverter.cc | 45 ++++++++++++++++++++++++++--------------- 1 file changed, 29 insertions(+), 16 deletions(-) (limited to 'tester') 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 targetInfo; setup_signals(); @@ -128,9 +129,21 @@ int main( usage(); } + // Create toolnames. - std::shared_ptr - 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 ); -- cgit v1.2.3