Lite_stream
@Lite_stream

Является ли хорошей практикой использование Stack Trace библотек в дебаг сборке?

Всем привет

Является ли хорошей практикой использование инструментов вроде Backward-cpp во время разработки приложений ? И имеют ли какие-либо неочевидные подводные камни ? (понятно, что имеется в виду компиляция с выключенным флагом оптимизации)

Также, в частности Backward-cpp может навешивать колбэки на разные системные сигналы типа необработанного исключения или сегфолта

Использование на примере макроса assert'а:

// smartAssert.h
void smartAssert(bool expression)
{
    if (expression)
        return;

    using namespace backward;

    StackTrace stackTrace;
    stackTrace.load_here(32);

    Printer printer;
    printer.object = true;
    printer.color_mode = ColorMode::always;
    printer.address = true;

    printer.print(stackTrace, stdout);
}


// config.h
#ifdef DEBUG
#   include "external/backward/backward.cpp"
#endif

#ifdef DEBUG
#   include "SmartAssert.h"
#   define SMART_ASSERT(expression) do { smartAssert(expression); } while (0)
#else
#  define SMART_ASSERT(expression) do {} while (0)
#endif
  • Вопрос задан
  • 117 просмотров
Решения вопроса 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Это нормальная практика. Например, ваш браузер скорее всего именно таким инструментом пользуется (если он на хромиуме основан).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы