在Linux中,可以使用以下几种方法来打印堆栈信息:
-
使用gdb调试器:
- 编译时添加`-g`选项以启用调试信息。
- 运行程序时,在终端中输入`gdb `启动gdb调试器。
- 在gdb命令行中,输入`run`命令来运行程序。
- 当程序崩溃或者需要打印堆栈信息时,输入`bt`命令来打印堆栈信息。
-
使用backtrace函数:
- 在代码中包含``头文件。
- 调用`backtrace`函数来获取堆栈信息。
- 使用`backtrace_symbols`函数将堆栈信息转换为可读格式并打印出来。
以下是一个简单的示例代码:
#include
#include
void printStackTrace() {
void* buffer[100];
int size = backtrace(buffer, 100);
char** symbols = backtrace_symbols(buffer, size);
printf("Stack Trace:\n");
for (int i = 0; i
编译运行上述代码后,会打印出堆栈信息。
网友留言: