您好,欢迎来到宝玛科技网。
搜索
您的当前位置:首页gdb 调试工具 --- 使用方法浅析

gdb 调试工具 --- 使用方法浅析

来源:宝玛科技网

gdb 调试工具使用方法浅析

1. 什么是gdb

gdb是GNU debugger的缩写,是编程调试工具。

2. gdb的功能

  • 启动程序,可以按照用户自定义的要求随心所欲的运行程序。
  • 可让被调试的程序在用户所指定的调试断点处停住(断点可以是条件表达式)。
  • 当程序停住时,可以检查此时程序中所发生的事。比如,可以打印变量的值。
  • 动态改变变量程序的执行环境。

3. gdb的使用

4. 程序错误

  • 编译错:编写程序的时候没有符合语言规范导致编译错误。比如:语法错误。
  • 运行时错误:编译器检查不出这种错误,但在运行时候可能会导致程序崩溃。比如:内存地址非法访问。
  • 逻辑错误:编译和运行都很顺利,但是程序没有干我们期望干的事情。

5. gdb调试段错误

  • 访问系统数据区,尤其是往系统保护的内存地址写数据。比如:访问地址为0的地址。
  • 内存越界(数组越界,变量类型不一致等)访问到不属于当前程序的内存区域。

gdb调试段错误,可以直接运行程序,当程序运行崩溃后,gdb会打印运行的信息,比如:收到了SIGSEGV信号,然后可以使用bt命令,打印栈回溯信息,然后根据程序发生错误的代码,修改程序。

6. core文件调试

6.1 core文件

在程序崩溃时,一般会生成一个文件叫core文件。core文件记录的是程序崩溃时的内存映像,并加入调试信息,core文件生成过程叫做core dump(核心已转储)。系统默认不会生成该文件。

6.2 设置生成core文件

  • ulimit -c:查看core-dump状态。
  • ulimit -c xxxx:设置core文件的大小。
  • ulimit -c unlimited:core文件无大小。

6.3 gdb调试core文件

当设置完ulimit -c xxxx后,再次运行程序发生段错误,此时就会生成一个core文件,使用gdb core调试core文件,使用bt命令打印栈回溯信息。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baomayou.com 版权所有 赣ICP备2024042794号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务