Avatar ·

Como obter automaticamente o stack trace quando o programa em C++ trava?

Olá a todos! Estou programando em C++ no Linux com o compilador GCC e estou constantemente tendo problemas para depurar bugs difíceis de encontrar. O programa trava com segmentation fault, mas não consigo entender exatamente onde isso acontece, porque o travamento ocorre raramente e em lugares aleatórios. Já estou usando asserts, mas eles não ajudam quando o bug está relacionado a corrupção de memória ou estouro de buffer. Quero que, em qualquer crash (SIGSEGV, SIGABRT, SIGFPE, etc.), o programa exiba automaticamente o stack trace completo com nomes de funções, arquivos e números de linha. Aqui está um exemplo do meu código que trava: ```cpp #include #include void dangerous_function(int* ptr) { *ptr = 42; // Aqui pode ocorrer segfault se ptr == nullptr } int main() { std::vector vec(10); ```