L'impression backtrace complet en c++

Je veux faire un dump d'un backtrace à partir d'un programme C++ sous Linux dans un format similaire, comme c'est fait dans gdb. J'ai essayé d'utiliser le backtrace() et backtrace_symbols fonctions de() à cet effet. Ces retourné noms de fonction et de décalages. Je peux utiliser l' __cxa_demangle() fonction permettant d'obtenir un lisible le nom de la fonction.

Est-il possible d'obtenir le fichier/positions de la ligne de trop, comme c'est fait par gdb?

dupliquer: stackoverflow.com/questions/4636456/stack-trace-for-c-using-gcc qui comprend une solution à la question

OriginalL'auteur petersohn | 2011-11-02