当前位置: 首页 > news >正文

网站建设服务器的选择方案网站开发报价单

网站建设服务器的选择方案,网站开发报价单,服装网络营销是什么,深圳 学习网站文章目录 GDBGDB概述什么是GDB**GDB**的主要功能 GDB的启动GDB常见的启动方式 GDB的退出GDB的常用命令GDB查看源代码指令———list(1)**GDB** 查看设置**------info****GDB** 查看内存**GDB** 设置断点**---break (b)****GDB** 设置观察点**---watch****GDB** 程序调试 GDB完整…

文章目录

    • GDB
      • GDB概述
        • 什么是GDB
        • **GDB**的主要功能
    • GDB的启动
        • GDB常见的启动方式
    • GDB的退出
    • GDB的常用命令
        • GDB查看源代码指令———list(1)
        • **GDB** 查看设置**------info**
        • **GDB** 查看内存
        • **GDB** 设置断点**---break (b)**
        • **GDB** 设置观察点**---watch**
        • **GDB** 程序调试
    • GDB完整使用演示
        • 检查你的**Linux**支不支持**GDB**
        • 我们可以通过网络在线安装
        • 启动**GDB**
        • 显示调试的代码
        • 设置调试断点
        • 调试代码
        • 退出**GDB**

GDB

GDB概述

什么是GDB

GDB是GUN开源组织发布的一款强大的Unix/Linux的程序调试工具

GDB的主要功能

1.启动程序,按照程序员要求运行程序。

2.可以让程序在程序员设置的断点处停下来。

3.在程序停止的情况下,可查看程序中的变量等信息。

4.动态改变程序的运行环境。

需要注意的是:

程序在编译的时候需要跟上 -g参数,因为我们默认编译出来的版本是发布版本(Release),会删除一切调试可用信息,便于减小可执行程序的体积,但是我们调试的时候,我们需要保留调试信息,所以需要使用到调试版本(DeBug),所以需要指定参数 -g

GDB的启动

GDB常见的启动方式

在命令行中运行:

(1)gdb:

file	<filename>

如果调试的程序需要命令行参数还需要执行如下指令:

set	args	arg1	arg2	...

(2)gdb <filename>

如果调试的程序需要命令行参数则执行如下格式指令:

gdb	--args	<filename>	arg1	arg2	...

GDB的退出

在gdb中执行命令:

quit / q

GDB的常用命令

GDB查看源代码指令———list(1)

显示指定位置的周围的源代码;可以通过行号、文件名、函数名以及三者之间的组合来定位指定位置,显示代码的行数可以通过设置listsize来设定,但是该设置只是本次有效;简化命令:l

set listsize 20 # 每次list显示指定区域的20行代码,默认10行
show listsizelist linenumber # 显示 linenumber附近的代码
list 50 # 显示当前源文件的第50行的附近代码
list function # 显示函数代码
list test.c:30 # 显示指定源文件的第30行的附近代码
list +/- # 向后/前显示源代码
list <first>,<last> # 显示first ,last之间的内容
list 100,200
GDB 查看设置**------info**
info registers # 查看寄存器信息
info frame # 查看栈信息(帧信息)
info locals # 显示当前函数的所有局部变量名及其值
info break/b # 查看断点信息
info args # 显示当前函数的参数名及其值
info prog # 查看调试程序的执行状态
info files # 显示调试文件的详细信息
GDB 查看内存
查看内存变量的值 print (p)
p i
p function::i
自动显示的变量值或表达式值 display
display i # 自动显示变量i的值
info display # 查看自动显示变量的信息
undisplay 1 2 # 取消1,2号自动变量显示
disable display 1 # 暂停显示1号自动变量
enable display 1 # 回复显示1号自动变量
GDB 设置断点**—break (b)**
设定程序在运行过程中在指定的位置停下来,该指定的位置可以为源文件名、函数名、行号中的一个或多个组合的具有唯一性地址
break/b linenum # 通过文件行号设置断点 b 20
break/b funcname # 通过函数名设置断点 b add
break/b linenum if exp # 设置条件断点: b 20 if i==8
断点维护:
info break # 查看断点信息
delete break 1 # 删除编号为1的断点,不带参数删除所有断点
enable break 1 # 启用编号为1的断点,断点信息enb 变为 y
disable break 1 # 禁用编号为1的断点,断点信息enb 变为 n
clear linenum # 清除linenum行上所有断点
GDB 设置观察点**—watch**
watchpoint 观察点,当观察对象的值变化时,会停止程序
watch <exp> # 为表达式或变量设置观察点,一旦值变化停止程序
rwatch <exp> # 当表达式或变量被读时,停止程序
awatch <exp> # 当表达式或变量被读,写时,停止程序
info watchpoints # 查看所有观察点信息
观察点可认为是特殊的断点
GDB 程序调试
启动程序: run # 从main开始运行
continue # 一直执行直到满足停止条件而停止
next/n # 单步执行,遇到函数不进入
step/s # 单步执行,遇到函数进入
finish # 执行当前函数的剩余指令,直到函数返回

GDB完整使用演示

检查你的Linux支不支持GDB

我们一般检测,都是通过查看版本的方式,如果版本能查到,就说明支持,查询不到说明不支持

gdb --version

在这里插入图片描述

我们可以通过网络在线安装
sudo apt-get install gdb
启动GDB

启动GDB

gdb

在这里插入图片描述

打开需要调试的文件

(1) 针对没有运行参数(main函数参数无需接收)的可执行程序

file 2

在这里插入图片描述
上面的命令等价于:

gdb 2

在这里插入图片描述
(2) 针对有运行参数(main函数参数需要接收)的可执行程序

set a.txt b.txt ...
显示调试的代码

设置显示的行数

set listsize 20 // 设置显示的行数,默认显示10行

设置从哪一行开始显示

list 1 / l 1 // 1就是起始行号
设置调试断点

设置断点

​ 设定程序在运行过程中在指定的位置停下来,该指定的位置可以为源文件名、函数名、行号中的一个或多个组合的具有唯一性地址

break/b linenum # 通过文件行号设置断点 b 18
break/b funcname # 通过函数名设置断点 b sum
break/b linenum if exp # 设置条件断点: b 20 if i==8

清除断点

info break # 查看断点信息
delete break 1 # 删除编号为1的断点,不带参数删除所有断点
clear linenum # 清除linenum行上所有断点 clear 18
调试代码

运行程序

run # 从main开始运行
continue # 一直执行直到满足停止条件而停止
next/n # 单步执行,遇到函数不进入
step/s # 单步执行,遇到函数进入
finish # 执行当前函数的剩余指令,直到函数返回

打印输出

查看内存变量的值 print (p)
print/p i # 打印输出变量等数据
自动显示的变量值或表达式值 display
display i # 自动显示变量i的值
退出GDB
quit / q
http://www.yayakq.cn/news/268859/

相关文章:

  • 网站建设佛山拓客科技公司wordpress vantage premium
  • 网站维护提示代码毕业设计网站设计说明书
  • 想自己做个网站怎么做万业网网站建设审核
  • 机电网站模板外贸平台是做什么的
  • 淄博网站制作定制品牌荥阳市城乡规划和建设局网站
  • 如何设置网站子域名网站logo设计在线生成
  • 网站板块建设的重要性seo精华网站
  • 晋州做网站的联系电话品牌运营策划方案
  • 网站内容填写wordpress+首页多栏
  • 卷皮淘客网站怎么做wifi已连接(无法上网)
  • 水泥网站营销方案怎么做北京万户网络
  • 网上网城网站用什么软件做楼盘微网站
  • 简单大方网站电商如何推广
  • 电脑网站视频怎么下载wordpress订单提醒功能
  • 网站服务器空间价格琼海网站制作
  • 长沙做网站的公司哪家最好鞍山站
  • wordpress建站教程linux如何建一个公司网站
  • 关于网站设计的论文菏泽网站建设菏泽
  • 网站公司建设网站网站设计人员就业要求
  • 怎样做视频电影网站丰台区网站建设公司
  • 网站建设公司的小程序选择什么企业网站营销的实现方式
  • 网站推广软件app南昌网站建设报价
  • 网站开发的费用属于什么科目辽宁建设局网站首页
  • 邵阳网页企业seo是什么意思
  • 东莞网站设计公司淘宝陕西建设网最新消息
  • 久久建筑往周口seo推广
  • 住房和城乡建设部网站建筑电工网站做强制访问控制
  • 手机代码编辑器天津seo托管
  • 合肥学校网站建设wordpress报名系统
  • 做动画 的 网站有哪些内容如何搭建自己的网站服务器