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/ ...
随机推荐
- Java 数据结构之vector
Vector 实现了一个动态数组.是可实现自动增长的对象数组. vector和arraylist的比较: 1.都是采用数组格式存储数据,索引数据块插入数据慢 2.ArrayList会比Vector快, ...
- Windows7配置GPU和Theano编程环境
可参考Windows安装Theano官方教程: http://deeplearning.net/software/theano/install_windows.html#install-windows ...
- 面试题目“ABCDE × 4 = EDCBA”新解法
ABCDE*4=EDCBA 在面试宝典上面看到的一道题目,也是一道老掉牙的题目了,题目详情:一个五位数字ABCDE*4=EDCBA,这五个数字不重复,请编程求出来. 网上流传的代码都是对5位数ABCD ...
- linux rtc 接口【转】
转自:http://blog.csdn.net/goldfighter/article/details/6126178 Linux操作系统内核对RTC的编程详解 转自: http://xenyinze ...
- JAVA多线程下载网络文件
JAVA多线程下载网络文件,开启多个线程,同时下载网络文件. 源码如下:(点击下载 MultiThreadDownload.java) import java.io.InputStream; im ...
- Introduction
http://www.entityframeworktutorial.net/EntityFramework5/entity-framework5-introduction.aspx Basics o ...
- content management system
Defination of CMS: The definition of a CMS is an application (more likely web-based), that provides ...
- acdream 1683 村民的怪癖(KMP,经典变形)
Problem Description 娜娜费劲九牛二虎之力终于把糖果吃完了(说好的吃不完呢?骗人,口亨~),于是,缘溪行,忘路之远近.忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷,娜娜甚异之 ...
- 【英语】Bingo口语笔记(66) - 美式发音特点
- 【转】Eclipse快捷键 10个最有用的快捷键----不错
原文网址:http://www.open-open.com/bbs/view/1320934157953 1.选中你要加注释的区域,用ctrl+shift+C 会加上//注释2.先把你要注释的东西选中 ...