gdb 调试程序步骤
- 在程序a.c编译过程中加入调试信息: g++ -g -o a.debug a.c
- 启动gdb,在终端下输入:gdb
- 此时启动了gdb,在gdb中加载需要调试的程序,在终端输入命令: file a.debug
- 在gdb中查看代码,在用g++加入了-g命令以后,编译后的a.debug程序中自动加入了断点,可以利用list命令查看源代码和断点,在终端输入命令 : list 1,这时候gdb会显示第一个断点以前的代码。
- 按住“Enter”键,显示下一个断点以前的代码,以此类推,可以查看断点程序。
- 在对应行加入断点,如在第六行加入断点,输入命令: break 6
- 若要查看断点,可以输入命令: info breakpoint 可以显示程序中所有的断点
- 查看第n个断点,如要查看第二个断点,可以输入命令: info breakpoint 2
- 运行程序,输入命令:run
- 可以输入 next或者step或者continue以及n进行调试:
- step可以进行到函数内部调试
- next单步调试
- continue运行到下一个断点
- 查看变量请输入 print 变量名,如要查看i的数值,输入: print i
- 退出程序命令:q
gdb 调试程序步骤的更多相关文章
- 用gdb调试程序笔记: 以段错误(Segmental fault)为例
用gdb调试程序笔记: 以段错误(Segmental fault)为例[转] 1.背景介绍2.程序中常见的bug分类3.程序调试器(如gdb)有什么用4.段错误(Segmental fault)介绍5 ...
- 用GDB调试程序(一)
http://blog.csdn.net/haoel/article/details/2879 用GDB调试程序 GDB概述———— GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或 ...
- Linux下使用GDB调试程序
问题描述: Linux下使用GDB调试程序 问题解决: (1)生成调试文件 注: 使用命令 gdb IOStream.c -o IOStre ...
- 用GDB调试程序
转自:http://blog.csdn.net/haoel/article/details/2879 是一篇从基础讲gdb的博文 用GDB调试程序 GDB概述---- GDB是GNU开源组织发布的一个 ...
- gdb调试程序函数名为问号,什么原因?step by step解决方案
gdb调试程序函数名为问号,什么原因? http://bbs.chinaunix.net/thread-1823649-1-1.html http://www.bubuko.com/infodetai ...
- 用gdb调试程序(Linux环境)
一般来说,GDB主要帮忙你完成下面四个方面的功能: 1.启动你的程序,可以按照你的自定义的要求随心所欲的运行程序. 2.可让被调试的程序在你所指定的调置的断点处停住.(断点可以是条件表达式) ...
- [Z] 用GDB调试程序
原文:http://blog.csdn.net/haoel/article/details/2879 用GDB调试程序 GDB概述———— GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工 ...
- 用 GDB 调试程序
Linux 包含了一个叫 gdb 的 GNU 调试程序. gdb 是一个用来调试 C 和 C++ 程序的强力调试器. 它使你能在程序运行时观察程序的内部结构和内存的使用情况. 以下是 gdb 所提供的 ...
- 转载 gdb调试程序
转载自csdn,作者haoel,链接http://blog.csdn.net/haoel/article/details/2879 用GDB调试程序 GDB概述———— GDB是GNU开源组织发布的一 ...
随机推荐
- [leetcode-117]填充每个节点的下一个右侧节点指针 II
(1 AC) 填充每个节点的下一个右侧节点指针 I是完美二叉树.这个是任意二叉树 给定一个二叉树 struct Node { int val; Node *left; Node *right; Nod ...
- 051、在overlay中运行容器(2019-03-18 周一)
参考https://www.cnblogs.com/CloudMan6/p/7294501.html 我们前面创建了overlay网络 ov_net1 ,今天我们运行一个busybox容器并连接到 ...
- SCTP一到多式流分回射服程序
一.服务器程序 #include <stdlib.h> #include <string.h> #include <strings.h> #include < ...
- 判断质数(Java)
package day01; //输出1-100中质数,并且每十个换行 public class PrimeNum { public static void main(String[] args) { ...
- 20155324 2016-2017-2 《Java程序设计》第十周学习总结
20155324 2016-2017-2 <Java程序设计>第十周学习总结 教材学习内容总结 Java的网络编程 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据. ...
- 初入爬虫(java)
public class CrawlerUtil { public static void main(String [] args) throws IOException { // 创建默认的http ...
- 第26月第9天 getActionBar为空的解决办法
1.python 包路径 export PYTHONPATH=路径 https://blog.csdn.net/machinezj/article/details/60137666 2.getActi ...
- 利用PyMySQL库连接数据库
安装与准备 这是python3的库,所以windows下安装不会像python2那样各种奇葩VC错误.是比较方便的傻瓜安装. Windows平台下: py -3 -m pip install PyMy ...
- async get_event_loop
以下论述转载自https://segmentfault.com/q/1010000007863971 答主论述清晰,很不错,可参考他的其他答案 首先,event loop 就是一个普通 Python ...
- python - list 和 tuple