Backtrace::Backtrace(Optional<unsigned int> strip) { void* allAddr[BACKTRACE_MAX_SIZE]; unsigned int nbEntries = numeric_cast<unsigned int>(backtrace(allAddr, BACKTRACE_MAX_SIZE)); // Ajouter + 1 pour exclure le constructeur du backtrace unsigned int realStrip = strip.apply([] (unsigned int n) { return n + 1; }).orDefault(0); for (unsigned int i = realStrip; i < nbEntries; i++) { void* addr = allAddr[i]; Optional<StackElement> element = createStackElement(addr); if (element) { _elements.push_back(move(*element)); } } }