标签 gdb 下的文章

vscode 通过数据断点分析segmentation fault


vscode 通过数据断点分析segmentation fault通常地,程序异常,我们借助vscode在ubuntu主动调试,程序会自动在异常代码位置停下来,但是异常分析通常不会这么简单,而是一连串连锁反应。这里尝试分析,因为程序异常,非法写入了一段正常内存,从而导致多个链路之后异常发生。而对于此问题,最常使用的调试手段就是添加数据断点。通常直接在某段代码位置添加的代码为函数断点,程序会自动在该位置停下来。同样地,我们可以添加条件断点:当某个判断条件(例如,变量值为真)满足的时候;当某段代码连续执行N次的时候;当某个变量(内存)被读写的时候;如上前两个条件断点,vsocde 里面的c/...

在linux 下通过vscode调试elf可执行文件


how to use vscode debug elf ?elf 是linux 下可执行可链接文件(executable and linkable format)。通过gcc/make 我们很容易编译出我们需要的elf文件,借助vscode可以在ubuntu图形化调试该程序,再也不用在gdb命令操作了。如下是elf文件结构,包含文件头(elf header)和代码、数据区索引表(program header table、section header table)和对应代码区、数据区。明白了如上文件结构,还需要具体解答如下疑惑。什么文件可以被调试?通过file命令对比可以知道用以调试的文件...