43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // Pick your poison.
 | |
| //
 | |
| // On GNU/Linux, you have few choices to get the most out of your stack trace.
 | |
| //
 | |
| // By default you get:
 | |
| //	- object filename
 | |
| //	- function name
 | |
| //
 | |
| // In order to add:
 | |
| //	- source filename
 | |
| //	- line and column numbers
 | |
| //	- source code snippet (assuming the file is accessible)
 | |
| 
 | |
| // Install one of the following libraries then uncomment one of the macro (or
 | |
| // better, add the detection of the lib and the macro definition in your build
 | |
| // system)
 | |
| 
 | |
| // - apt-get install libdw-dev ...
 | |
| // - g++/clang++ -ldw ...
 | |
| // #define BACKWARD_HAS_DW 1
 | |
| 
 | |
| // - apt-get install binutils-dev ...
 | |
| // - g++/clang++ -lbfd ...
 | |
| // #define BACKWARD_HAS_BFD 1
 | |
| 
 | |
| // - apt-get install libdwarf-dev ...
 | |
| // - g++/clang++ -ldwarf ...
 | |
| // #define BACKWARD_HAS_DWARF 1
 | |
| 
 | |
| // Regardless of the library you choose to read the debug information,
 | |
| // for potentially more detailed stack traces you can use libunwind
 | |
| // - apt-get install libunwind-dev
 | |
| // - g++/clang++ -lunwind
 | |
| // #define BACKWARD_HAS_LIBUNWIND 1
 | |
| 
 | |
| #include "backward.hpp"
 | |
| 
 | |
| namespace backward {
 | |
| 
 | |
| backward::SignalHandling sh;
 | |
| 
 | |
| } // namespace backward
 | 
