【快手腾讯面试题】工具面试题1-3 如何使用gdb调试coredump文件。 秋招,校招各类面试题的讲解https://www.bilibili.com/video/BV15u4y1r73w/?share_source=copy_web&vd_source=1de4bbd746d463f3e044efb880331206
如何使用gdb调试coredump文件
- 什么coredump文件,怎么产生coredump文件
- 程序崩溃产生不了coredump文件怎么办?
- gdb怎么调试coredump文件
- 编译一个debug版本的程序, 模拟进程崩溃
#include <iostream>
#include <cstring>
void func(char* ptr){
//程序运行在这里的时候, 就会发生崩溃。
strcpy(ptr, "This is test code...");
}
int main(){
char* ptr = nullptr;
func(ptr);
return 0;
}
-
gdb调试找出bug
- 调试命令
gdb [binfile] [coredump file]
- 调试思路
- 查看调用堆栈,寻找崩溃原因
- 根据崩溃点,查找代码,分析原因
- 修复bug