linux子系统gdp调试,GDB调试命令_Linux编程_Linux公社-Linux系统门户网站

news/2024/5/10 21:01:25/文章来源:https://blog.csdn.net/weixin_39557087/article/details/116553755

1、查看源码:

list [函数名][行数]

2、暂停程序

(1)设置断点:

a、break + [源代码行号][源代码函数名][内存地址]

b、break ... if condition  ...可以是上述任一参数,condition是条件。例如在循环体中可以设置break ... if i = 100 来设置循环次数

(2)观察断点:

a、watch + [变量][表达式]  当变量或表达式值改变时即停住程序。

b、rwatch + [变量][表达式] 当变量或表达式被读时,停住程序。

c、awatch + [变量][表达式] 当变量或表达式被读或被写时,停住程序。

(3)设置捕捉点:

catch + event  当event发生时,停住程序。

event可以是下面的内容:

a、throw 一个C++抛出的异常。(throw为关键字)

b、catch 一个C++捕捉到的异常。(catch为关键字)

c、exec 调用系统调用exec时。(exec为关键字,目前此功能只在HP-UX下有用)

d、fork 调用系统调用fork时。(fork为关键字,目前此功能只在HP-UX下有用)

e、vfork 调用系统调用vfork时。(vfork为关键字,目前此功能只在HP-UX下有用)

f、load 或 load 载入共享库(动态链接库)时。(load为关键字,目前此功能只在HP-UX下有用)

g、unload 或 unload 卸载共享库(动态链接库)时。(unload为关键字,目前此功能只在HP-UX下有用)

(4)捕获信号:

handle + [argu] + signals

signals:

是Linux/Unix定义的信号,SIGINT表示中断字符信号,也就是Ctrl+C的信号,SIGBUS表示硬件故障的信号;SIGCHLD表示子进程状态改变信号; SIGKILL表示终止程序运行的信号,等等。

argu:

nostop  当被调试的程序收到信号时,GDB不会停住程序的运行,但会打出消息告诉你收到这种信号。

stop    当被调试的程序收到信号时,GDB会停住你的程序。

print    当被调试的程序收到信号时,GDB会显示出一条信息。

noprint  当被调试的程序收到信号时,GDB不会告诉你收到信号的信息。

pass or noignore    当被调试的程序收到信号时,GDB不处理信号。这表示,GDB会把这个信号交给被调试程序会处理。

nopass or ignore    当被调试的程序收到信号时,GDB不会让被调试程序来处理这个信号。

(5)线程中断:

break [linespec] thread [threadno] [if ...]

linespec 断点设置所在的源代码的行号。如: test.c:12表示文件为test.c中的第12行设置一个断点。

threadno 线程的ID。是GDB分配的,通过输入info threads来查看正在运行中程序的线程信息。

if ...  设置中断条件。

3、查看信息:

(1)查看数据:

print  variable        查看变量

print *array@len 查看数组(array是数组指针,len是需要数据长度)

可以通过添加参数来设置输出格式:

/x 按十六进制格式显示变量。

/d 按十进制格式显示变量。

/u 按十六进制格式显示无符号整型。

/o 按八进制格式显示变量。

/t 按二进制格式显示变量。

/a 按十六进制格式显示变量。

/c 按字符格式显示变量。

/f 按浮点数格式显示变量。

(2)查看内存:

examine /n f u + 内存地址(指针变量)

n 表示显示内存长度

f 表示输出格式(见上)

u 表示字节数制定(b 单字节;h 双字节;w 四字节;g 八字节;默认为四字节)

如:

x /10cw pFilePath  (pFilePath为一个字符串指针,指针占4字节)

x 为examine命令的简写。

(3)查看栈信息:

backtrace [-n][n]

n  表示只打印栈顶上n层的栈信息。

-n 表示只打印栈底上n层的栈信息。

不加参数,表示打印所有栈信息。

基本gdb命令:

---------------------------------------------------------------------

命令          简写        功能

---------------------------------------------------------------------

file                            装入想要调试的可执行文件.

kill            k              终止正在调试的程序.

list            l              列出产生执行文件的源代码的一部分.

next          n              执行一行源代码但不进入函数内部.

step          s              执行一行源代码而且进入函数内部.

continue  c              继续执行程序,直至下一中断或者程序结束。

run            r              执行当前被调试的程序.

quit          q              终止 gdb.

watch                        使你能监视一个变量的值而不管它何时被改变.

catch                        设置捕捉点.

thread      t              查看当前运行程序的线程信息.

break        b              在代码里设置断点, 这将使程序执行到这里时被挂起.

make                        使你能不退出 gdb 就可以重新产生可执行文件.

shell                        使你能不离开 gdb 就执行 UNIX shell 命令.

print          p              打印数据内容。

examine  x              打印内存内容。

backtrace bt            查看函数调用栈的所有信息。

GDB 的详细介绍:请点这里

GDB的下载地址:请点这里

0b1331709591d260c1c78e86d0c51c18.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_714612.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c底层用什么网站编写服务器,c编写服务器

c编写服务器 内容精选换一换简要介绍clang是一个C编写、基于LLVM、发布于LLVM BSD许可证下的C/C/Objective-C/Objective-C编译器。语言:C一句话描述:C/C/Objective-C/Objective-C编译器开源协议:Apache License Version 2.0建议的版本建议使用…

程序员经常访问的技术网站

作为一个工作几年的程序员,分类总结一下经常会访问的技术网站。 一.项目源码 (1).Github 代码托管 GitHub的使用可是程序员在职业生涯中技能必不可少的技能。它可以做Git代码托管平台,很多开源项目都放在Github上,因此我们就可以借鉴别人的…

好看的网站主页截图

好看的网站主页截图 总结 1、大图大气 2、网站界面好,用好图 截图 这个网站的美工挺不错的,但是这样东西并不难做啊 大图,大气

挖一挖那些让公司网站瘫痪的SQL“终结者”

IT实战联盟博客:http://blog.100boot.cn 一条慢查询会造成什么后果?之前我一直觉得不就是返回数据会慢一些么,用户体验变差? 其实远远不止,我经历过几次线上事故,有一次就是由一条 SQL 慢查询导致的。 那…

大型网站架构系列:缓存在分布式系统中的应用(三)

https://mp.weixin.qq.com/s/TrPlYj-3ymiLCIK8dQEiEw 上次主要给大家分享了,缓存在分布式系统中的应用,主要从不同的场景,介绍了CDN,反向代理,分布式缓存,本地缓存的常规架构和基本原理。 因为时间关于&a…

大型网站应用之海量数据和高并发解决方案总结一二!

https://mp.weixin.qq.com/s?__bizMzUxOTAxODc2Mg&mid2247483781&idx3&sn19959b3978281e9bcadd7d19d8ecc178&chksmf98141e0cef6c8f6d6d53da7886906308660b6aa820f5d1fc2b55721db23ce9bfa73fe128a44&scene21#wechat_redirect 作者:徐刘根 | …

千万级用户的大型网站,应该如何设计其高并发架构?(彩蛋)

转发自今日头条 目录 (1)单块架构 (2)初步的高可用架构 (3)千万级用户量的压力预估 (4)服务器压力预估 (5)业务垂直拆分 (6)用…

一个开源vue网站博客,nuxt开源网站,前后端分离项目

unNue.com 开媛笔记,基于nuxt ssr首屏服务器端渲染 。用于分享、记录、交流和学习,希望可以帮助到小伙伴们。同时网站在不断更新,创造属于猿(媛)的世界 -$Bao Yalong ..Lets Go! https://unnue.com 简述 前端 Github地…

怎样将优酷网站下载的视频KUX转MP4格式

在休息之余,相信大多数人都会拿手机看电视剧听音乐之类的,最近拍了很多的新片子:《毒液:致命守护者》、《无名之辈》、《亡命救赎》《影》等等优质电影,但是很多的电影都只能在电影院观看的,如果不去电影院…

网站关键词编写方法,注意事项。

1.Title标签&#xff1a; 即网站标题&#xff08;沙发超人&#xff09;&#xff0c;指的是目标关键词或者主关键词在源代码中的表现形式。 代码格式1&#xff1a;<title>关键词1_关键词2_关键词3 – 网站的品牌</title> &#xff08;常用格式&#xff09; 代码格式…

分享一些省心的PPT模板下载网站资源(附5G优质PPT模板)

每次需要做PPT时&#xff0c;总是为找省心的模板二发愁&#xff0c;用搜索引擎搜索“免费PPT模板”时&#xff0c;展示出的大量所谓“免费”的网站。心动的点开一个后&#xff0c;最终却是&#xff1a;开通会员才免费&#xff0c;满满的套路 现在我们急需那些&#xff0c;省去搜…

network 关于PV,网站访问量和服务器带宽的选择

网站用户访问流量图 对于PV&#xff0c;流量和带宽的理解&#xff0c;可以分成几个问题可能更加容易理解 问题1&#xff1a;首先什么是PV 技术角度讲,1个PV是指从浏览器发出一个对网络服务器的Request 网络服务器接到Request之后会开始把该Request对应的一个Page &#xff08…

[IIS网站问题]设置防火墙协议及端口等问题

如果AppWeb网站通过域名公开访问,请选择 域 ;如果AppWeb网站只通过类似 http://192.168.3.107:6789 局域网访问,选择 专用 即可。如果实在搞不懂这个规则,就全选即可。见下图: 另外,名称可以自由定义.

小型的搜索引擎设计_广州网站设计工作室-赛致信息科技

很多人都在为自己企业的网站而发愁&#xff0c;担心的就是自己企业的网站做不好&#xff0c;在开始做网站的时候就很犹豫&#xff0c;不知道究竟该选择哪家网站建设好点&#xff0c;造成这一现状的根本原因就是现在网站建设的行业鱼龙混杂&#xff0c;让很多企业迷茫不知所措&a…

iis10 asp 如何连接mdb_网站500内部服务器错误如何解决 - 最蜘蛛池

原出处&#xff1a;最蜘蛛池原文链接&#xff1a;网站500内部服务器错误如何解决&#xff1f; - 最蜘蛛池在SEO工作过程中&#xff0c;我们偶尔会遇到http500内部服务器错误&#xff0c;这样的问题&#xff0c;它是一个明显的http状态码&#xff0c;它告诉站长&#xff0c;你的…

linux svn服务的维护,Linux服务器搭建svn环境方法详解_网站服务器运行维护,Linux,svn...

关于nginx location指令详解_网站服务器运行维护^~ 开头,注意这不是一个正则表达式(是提升优先级的字符串匹配)–它的目的是优先于正则表达式的匹配。如果该location是最佳匹配&#xff0c;则不再进行正则表达式检测。下面由Linux教程栏目给大家介绍Linux服务器搭建svn环境的方…

如何找到网站服务器的源代码_如何花3-5分钟找到网站Bug?

如何使用GA审核网站&#xff1f;只需7个步骤&#xff08;以下为问题形式出现&#xff09;&#xff0c;就会快速查出哪里出现了问题。1、网站上有损坏的页面吗&#xff1f;操作概览&#xff1a;行为>网站内容>页面标题维度&#xff0c;过滤“找不到页面”如果访问者访问错…

搜索引擎提交软件_网站如何被搜索引擎快速收录?

搭建好了你自己的网站&#xff0c;一定会有一个疑问&#xff0c;怎么让网站被搜索引擎快速收录&#xff1f;别人可以在搜索引擎搜到你的网站呢&#xff1f;我们总说怎么优化网站&#xff0c;怎么优化关键词&#xff0c;目的都是为了提升排名&#xff0c;提高网站在搜索引擎的收…

提高网站性能之 —— 减少图片HTTP 请求的方案

《Higb Performance Web Sites》&#xff08;中文名&#xff1a;“高性能网站建设指南”&#xff09;这本书对于前端工程师来说&#xff0c;绝对值得一读。本人有幸从公司借阅了&#xff0c;但不幸的是感觉翻译有点怪怪的。尤其是在翻译CSS Sprites的关键部分&#xff0c;让人不…

php网站模板包括增删改查,PHP实现简单的增删改查

前面一章已经将php环境搭建好了&#xff0c;现在开始学习使用php实现简单的增删改查。前提是WampServer和mysql安装好了。1.用代码在mysql中新建一个叫myphp的数据库&#xff0c;在myphp数据库中建立一个user表。⑴在WampServer的安装目录下找到www文件夹&#xff0c;我的在E:\…