Linux下gdb使用整理记录
1.创建cpp文件:vim sourcefile.cpp
2.生成可执行文件:g++ -g sourcefile.cpp -o exename
------加上-g参数,才能输出调试信息; -o:指定生成的可执行文件名;-c:指定目标文件名
3.启动调试:输入gdb进入gdb环境
4.输入 file exename (告诉gdb要调试了)
5.输入 l (list)查看代码,回车重复上一条命令
-----------------------list 的详细使用-----------------------------
----list linenum :显示linenum周围几行代码,我line 5 给我显示了1-10行代码
----list function :显示函数function的实现代码
----list :显示当前行后面的代码
----list - :显示当前行前边的代码
----set listsize count :默认显示10行,可通过这个命令来更改每次显示的行数
----show listsize : 查看当前listsize的设置。
----list first, last :显示从first行到last行之间的源代码.
----list , last :从当前行到last
----list + : 当前行以后的代码
一般来说在list后面可以跟以下这们的参数: <linenum> 行号。
<+offset> 当前行号的正偏移量。
<-offset> 当前行号的负偏移量。
<filename:linenum> 哪个文件的哪一行。
<function> 函数名。
<filename:function> 哪个文件中的哪个函数。
<*address> 程序运行时的语句在内存中的地址。
6.断点设置:b main 在main函数入口加一个断点
-------break 5 :在第5行设置断点; i b (info break) 查看断点信息
7.输入 r (run)开始运行代码到断点处
8.输入 s (step)单步进入函数
9.可以输入 n:单步调试;输入print var (缩写:p var)可以查看变量bar的值
------查看堆栈bt, down和up可一个一个打印堆栈信息。bt直接打印全部堆栈信息。
10.调试结束,输入c (continue) 运行到结束
-----或者 q (quit)退出
问题:如果代码错了,不能生成可执行文件该如何??
Linux下gdb使用整理记录的更多相关文章
- linux下gdb如何处理coredump错误
linux下gdb如何处理coredump错误 在编写C++程序中,我们经常会遇到一种错误,segment fault, 这种coredump错误 会导致程序运行时异常退出或者终止,这种错误没有明显错 ...
- Linux知识(5)----LINUX下GDB调试
命令 解释 示例 file 加载被调试的可执行程序文件.因为一般都在被调试程序所在目录下执行GDB,因而文本名不需要带路径. (gdb) file gdb-sample r c Run的简 ...
- 一文入门Linux下gdb调试(二)
作者:良知犹存 转载授权以及围观:欢迎添加微信号:Conscience_Remains 总述 今天我们介绍一下core dump文件,Core dump叫做核心转储,它是进程运行时在突然崩溃的 ...
- Linux下常用的命令记录
本文章记录我在linux系统下常用或有用的系统级命令,包括软硬件查看.修改命令,有CPU.内存.硬盘.网络.系统管理等命令.但本文不打算介绍生僻命令,也不介绍各个linux发行版下的特有命令,且以后会 ...
- linux下计划任务学习记录
0x01 计划任务简介 linux 中计划任务主要分为”循环执行”和”只执行一次”两种,分别对应的时 crond 服务 和 atd 服务: 0x02 只执行一次的计划任务 0x02.1 atd 服务说 ...
- 一文入门Linux下gdb调试(一)
作者:良知犹存 转载授权以及围观:欢迎添加微信号:Conscience_Remains 总述 在window下我们习惯了IDE的各种调试按钮,说实话确实挺方便的,但到了Linux下,没有那么多的IDE ...
- linux下使用indent整理代码(代码格式化)【转】
转自:https://blog.csdn.net/jiangjingui2011/article/details/7197069 常用的设置: indent -npro -kr -i8 -ts8 -s ...
- LINUX下GDB反汇编和调试
Linux下的汇编与Windows汇编最大的不同就是第一个操作数是原操作数,第二个是目的操作数.而Windows下却是相反. 1. 基本操作指令 简单的操作数类型说明.一般有三种. (1)马上数操作数 ...
- linux下ffmpeg环境搭建记录
1.Linux下安装yasm 官网下载:http://yasm.tortall.net/Download.html tar -zvxf yasm-1.3.0.tar.gz cd yasm-1.3.0/ ...
随机推荐
- MimeTypes list
application/acad *.dwg AutoCAD-Dateien (nach NCSA) application/applefile AppleFile-Dateien applicati ...
- Linux下安装mysql-5.6.4 的图文教程
在开始安装前,先说明一下mysql-5.6.4与较低的版本在安装上的区别,从mysql-5.5起,mysql源码安装开始使用cmake了,因此当我们配置安装目录./configure --perfix ...
- Enumerable.SequenceEqual
Determines whether two sequences are equal by comparing the elements by using the default equality c ...
- CString和string
CString和string(一) 概述 string和CString均是字符串模板类,string为标准模板类(STL)定义的字符串类,已经纳入C++标准之中: CString(typedef CS ...
- zookeeper监控告警
一.ZooKeeper简介 ZooKeeper作为分布式系统中重要的组件,目前在业界使用越来越广泛,ZooKeeper的使用场景非常多,以下是几种典型的应用场景: l 数据发布与订阅(配置中心) l ...
- C#配置系统未能初始化
如果配置文件中包含 configSections 元素,则 configSections 元素必须是 configuration 元素的第一个子元素.",将appSettings放到conf ...
- 51nod1406 与查询
这题卡I/O...dp一下... #include<cstdio> #include<cstring> #include<cctype> #include<a ...
- hdu4618 Palindrome Sub-Array dp+记忆化搜索 或者直接暴力
题意就是找一个 左右上下对称的正方形矩阵. 连接:http://acm.hdu.edu.cn/showproblem.php?pid=4618 没想到记忆+dp和暴力就能水过... //记忆话搜索+d ...
- fixed兼容IE6
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- (转)iOS动画Core Animation
文章转载:http://blog.sina.com.cn/s/blog_7b9d64af0101b8nh.html 在iOS中动画实现技术主要是:Core Animation. Core Animat ...