[rtems-tools commit] TraceConverter.cc: Fix Uncaught exception issue
Joel Sherrill
joel at rtems.org
Wed Dec 15 16:35:05 UTC 2021
Module: rtems-tools
Branch: master
Commit: c9aefbba45ec19085e6f668c3da7d617d21ce181
Changeset: http://git.rtems.org/rtems-tools/commit/?id=c9aefbba45ec19085e6f668c3da7d617d21ce181
Author: Ryan Long <ryan.long at oarcorp.com>
Date: Mon Dec 13 08:40:35 2021 -0500
TraceConverter.cc: Fix Uncaught exception issue
CID 1471639: Uncaught exception
Closes #4501
---
tester/covoar/TraceConverter.cc | 30 +++++++++++++++++++++++++++---
1 file changed, 27 insertions(+), 3 deletions(-)
diff --git a/tester/covoar/TraceConverter.cc b/tester/covoar/TraceConverter.cc
index 8e30ae5..e393268 100644
--- a/tester/covoar/TraceConverter.cc
+++ b/tester/covoar/TraceConverter.cc
@@ -87,13 +87,37 @@ int main(
std::string tracefile;
std::string 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;
+ rld::process::tempfile *objdumpFile;
+ rld::process::tempfile *err;
+
+ try
+ {
+ objdumpFile = new rld::process::tempfile( ".dmp" );
+ }
+ catch ( rld::error re )
+ {
+ std::cerr << "Failed to make .dmp tempfile " << std::endl;
+ ec = 10;
+
+ return ec;
+ }
+
+ try
+ {
+ err = new rld::process::tempfile( ".err" );
+ }
+ catch ( rld::error re )
+ {
+ std::cerr << "Failed to make .err tempfile " << std::endl;
+ ec = 10;
+
+ return ec;
+ }
setup_signals();
@@ -195,7 +219,7 @@ int main(
try
{
- objdumpProcessor.loadAddressTable( executableInfo, objdumpFile, err );
+ objdumpProcessor.loadAddressTable( executableInfo, *objdumpFile, *err );
log.processFile( logname.c_str(), objdumpProcessor );
trace.writeFile( tracefile.c_str(), &log, verbose );
}
More information about the vc
mailing list