资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

linux里gdb命令 linux gdb

linux入门基础(四)Gdb调试程序

Gdb调试

专注于为中小企业提供做网站、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业萧县免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

注意:在Gcc编译选项中一定要加入

–g

退出GDB:quit

Ctrl+d

调试过程:

1.

查看文件

命令:

(gdb)

l

命令:(gdb)

b

行号

注:到第17行停止,并没有执行17行

3.

查看断点情况

info

b

4.

运行代码

r

命令:

(gdb)

r

(也可以指定行开始运行,在r后面加上行号)

5.

查看变量值

p

命令:(gdb)

p

变量名

6.

设置监视点:

watch

z

(变量名)

也可以是复杂的表达式

7.

单步运行

命令:(gdb)

n

(逐过程)

8.逐步,会进入函数

命令:(gdb)

s

9.条件断点

将正常断点转变为条件断点:condition

如:condition

1

i

==

10

只有当满足条件i

==

1时,才会在断点1处暂停

10.

恢复程序运行

c

命令:

(gdb)

c

(程序就会运行,如果没有断点,就运行剩下部分,如果有断点,就会运行到下一个断点)

11.

去除断点

clear

line_number

clear

filename:line_number

12.

help

12.1

help找出类别

12.2help从列表中

linux gdb基础命令

你的gdb压根就没有解析出来断点,你的库有问题。你run后bt一下就可以进入断点的

你把代码发我吧,给你调试

linux下的gdb是个命令,但在linux常用命令列表中找不到?

首先,一般的命令其实也都是程序

装在系统路径下的程序的程序名,都可以作为命令直接调用

具体哪些路径是“系统路径”,Linux下可以用$PATH$命令来查看(通常会有多个路径,用冒号隔开)

而gdb其实是gcc/g++编译器的一个附带的调试器

虽然现在主流的Linux发行版中都会自带gcc编译器,当然也会附带这个gdb的调试器

但毕竟它不算是Linux系统的内部组件,所以自然也不能算做Linux的自带命令了

Linux 里面的gdb到底是个什么东西?

Linux 包含了一个叫 gdb 的 GNU 调试程序. gdb 是一个用来调试 C 和 C++ 程序的强力调试器. 它使你能在程序运行时观察程序的内部结构和内存的使用情况. 以下是 gdb 所提供的一些功能:

它使你能监视你程序中变量的值.

它使你能设置断点以使程序在指定的代码行上停止执行.

它使你能一行行的执行你的代码.

在命令行上键入 gdb 并按回车键就可以运行 gdb 了, 如果一切正常的话, gdb 将被启动并且你将在屏幕上看到类似的内容:

GDB is free software and you are welcome to distribute copies of it

under certain conditions; type "show copying" to see the conditions.

There is absolutely no warranty for GDB; type "show warranty" for details.

GDB 4.14 (i486-slakware-linux), Copyright 1995 Free Software Foundation, Inc.

(gdb)

当你启动 gdb 后, 你能在命令行上指定很多的选项. 你也可以以下面的方式来运行 gdb :

gdb fname

当你用这种方式运行 gdb , 你能直接指定想要调试的程序. 这将告诉gdb 装入名为 fname 的可执行文件. 你也可以用 gdb 去检查一个因程序异常终止而产生的 core 文件, 或者与一个正在运行的程序相连. 你可以参考 gdb 指南页或在命令行上键入 gdb -h 得到一个有关这些选项的说明的简单列表.


分享名称:linux里gdb命令 linux gdb
文章源于:http://www.cdkjz.cn/article/hpdcis.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220