--- ./src/Standard/Standard_StackTrace.cxx +++ ./src/Standard/Standard_StackTrace.cxx @@ -30,7 +30,6 @@ #elif defined(__QNX__) //#include // requires linking to libbacktrace #elif !defined(_WIN32) && !(defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) - #include #elif defined(_WIN32) && !defined(OCCT_UWP) #include @@ -314,51 +313,6 @@ return false; #endif #else - const int aTopSkip = theNbTopSkip + 1; // skip this function call and specified extra number - int aNbTraces = theNbTraces + aTopSkip; - void** aStackArr = (void** )alloca (sizeof(void*) * aNbTraces); - if (aStackArr == NULL) - { - return false; - } - - aNbTraces = ::backtrace (aStackArr, aNbTraces); - if (aNbTraces <= 1) - { - return false; - } - - aNbTraces -= aTopSkip; - char** aStrings = ::backtrace_symbols (aStackArr + aTopSkip, aNbTraces); - if (aStrings == NULL) - { - return false; - } - - const size_t aLenInit = strlen (theBuffer); - size_t aLimit = (size_t) theBufferSize - aLenInit - 1; - if (aLimit > 14) - { - strcat (theBuffer, "\n==Backtrace=="); - aLimit -= 14; - } - for (int aLineIter = 0; aLineIter < aNbTraces; ++aLineIter) - { - const size_t aLen = strlen (aStrings[aLineIter]); - if (aLen + 1 >= aLimit) - { - break; - } - - strcat (theBuffer, "\n"); - strcat (theBuffer, aStrings[aLineIter]); - aLimit -= aLen + 1; - } - free (aStrings); - if (aLimit > 14) - { - strcat (theBuffer, "\n============="); - } - return true; + return false; #endif }