您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页【linux】创建和使用动态库 GDB调试工具

【linux】创建和使用动态库 GDB调试工具

来源:二三娱乐

1.创建动态库解析

 2.创建main.c调用库文件测试

gcc main.c ./libmain.so -o main   --生成可执行文件

注意:清楚库文件在哪里

 3.内存的分配

 5.GDB调试工具具有以下功能
    1>监视程序中变量的值
    2>设置断点以使程序在指定的代码行上停止执行
    3>一行一行的执行代码
6.GDB常用命令

 7.GDB调试编译代码
    在==编译时用 -g 选项 ==打开调试选项
8.常用命令的使用
    1》装入调试文件      例:gdb main <main是main.c生成的可执行文件> 

          例 :    l,list 
                    查询行号 l 行号    l 15
                    查询多行 l 第几行,第几行     l 2,16

 

 3》运行命令
        1>运行命令run或r <运行程序>

 9.断点操作
    1》设置断点break或b
        设置断点要结合list查看代码行号,设置成功后,使用run命令运行程序
        避免断点设置在空行或者注释行上
        1>根据行号设置断点
            break 行号
        2>根据函数设置断点
            break 函数
        3>根据表达式断点
            break 行号 if i==3<行号后面是表达式>

 2》显示当前gdb断电信息info break
        程序运行结束后,可以查看所有断电信息
    3》禁止或启用断点enable或disable
        disable break
    4》删除断点delete break或 d
        delete/d break 行号
    5》清除断点clear,同样也是删除断点
        clear 行号

     6》观察点watch
        watch a = 10  -设置变量

10.查看数据
    1》查看变量值print或p
        print/p 变量名 

11.自动显示变量display
        当程序运行停住时,自动显示变量值 

 

 12.结束当前函数运行finish
13.结束当前for循环jump
    最好在同一个函数,不能超过本函数,否则可能会出错
    jump 行号
14.查看变量类型ptype
    ptype 变量名
15.列出当前程序存活的栈帧bt
    栈帧:随着函数调用而在stack上开辟一片内存空间。用于存放函数调用
时产生的局部变量和临时值。
16.根据栈帧编号,切换栈帧frame

 

17.打印寄存器
17.退出gdb用quit或q

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

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

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

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