summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--solenv/bin/gdbtrycatchtrace20
-rw-r--r--solenv/inc/settings.mk6
2 files changed, 25 insertions, 1 deletions
diff --git a/solenv/bin/gdbtrycatchtrace b/solenv/bin/gdbtrycatchtrace
new file mode 100644
index 000000000000..e394b66eb6b3
--- /dev/null
+++ b/solenv/bin/gdbtrycatchtrace
@@ -0,0 +1,20 @@
+catch throw
+commands
+ bt
+ cont
+end
+catch catch
+commands
+ bt
+ cont
+end
+echo log will be saved as gdbtrace.log, this will take some time, patience...\n
+set logging redirect on
+set logging file gdbtrace.log
+set logging on
+set logging overwrite on
+run
+bt
+quit
+set logging off
+echo log is saved as gdbtrace.log\n
diff --git a/solenv/inc/settings.mk b/solenv/inc/settings.mk
index e16f6028dc8a..8d29cfbcc238 100644
--- a/solenv/inc/settings.mk
+++ b/solenv/inc/settings.mk
@@ -1057,7 +1057,11 @@ JAVAMAKER*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/javamaker
RDBMAKER*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/rdbmaker
CLIMAKER*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/climaker
-CPPUNITTESTER=$(AUGMENT_LIBRARY_PATH_LOCAL) $(SOLARBINDIR)/cppunittester
+.IF "$(DEBUGCPPUNIT)" != ""
+GDBCPPUNITTRACE=gdb --command=$(SOLARENV)/bin/gdbtrycatchtrace --args
+.ENDIF
+
+CPPUNITTESTER=$(AUGMENT_LIBRARY_PATH_LOCAL) $(GDBCPPUNITTRACE) $(SOLARBINDIR)/cppunittester
HELPEX=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/helpex
LNGCONVEX=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/lngconvex
HELPLINKER=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/HelpLinker