]> OCCT Git - occt.git/commit
0030762: Foundation Classes - include backtrace within OSD_SIGSEGV
authorkgv <kgv@opencascade.com>
Mon, 3 Jun 2019 05:06:24 +0000 (08:06 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 17 Dec 2020 18:17:43 +0000 (21:17 +0300)
commit7fb9d6d573a724049e9c46d9050a85bba72f437f
tree646c4eb42d68de53d3f719edbed3570222c5fcfe
parent14eea8293d9de74917daecd14bd4b1982dbd99d9
0030762: Foundation Classes - include backtrace within OSD_SIGSEGV

Standard_Failure now holds an optional stack trace dump.
Added function Standard::StackTrace() dumping backtrace to the string.
SegvHandler within OSD_signal now appends backtrace to the message
if OSD::SignalStackTraceLength() is set to non-zero value
or environment variable "CSF_DEBUG_MODE" is set for debugging.

Added auxiliary macros Standard_NOINLINE disallowing function inlining.

Command "dsetsignal" has been extended by -strackTraceLength argument
for defining stack trace length within signals redirected to C++ exceptions.
Added "ddebugtraces" command for debugging purposes (adding stack traces to all exceptions).
16 files changed:
src/Draw/Draw.cxx
src/Draw/Draw_BasicCommands.cxx
src/OSD/OSD.hxx
src/OSD/OSD_ThreadPool.cxx
src/OSD/OSD_signal.cxx
src/QABugs/QABugs_11.cxx
src/Standard/FILES
src/Standard/Standard.hxx
src/Standard/Standard_DefineException.hxx
src/Standard/Standard_Failure.cxx
src/Standard/Standard_Failure.hxx
src/Standard/Standard_Macro.hxx
src/Standard/Standard_OutOfMemory.cxx
src/Standard/Standard_OutOfMemory.hxx
src/Standard/Standard_StackTrace.cxx [new file with mode: 0644]
tests/bugs/fclasses/bug30762 [new file with mode: 0644]