首页 > 其他分享 >gdb调试应用笔记

gdb调试应用笔记

时间:2023-09-25 09:34:34浏览次数:45  
标签:程序 GDB 笔记 gdb program your 调试

GDB介绍(来自man手册):

The purpose of a debugger such as GDB is to allow you to see what is going
on "inside" another program while it executes -- or what another program
was doing at the moment it crashed.

翻译就是:调试器(如GBD)的目标工作就是让你看看程序执行时在内部是怎么样运行的或者在它挂掉的时候是怎么运行的。

GDB can do four main kinds of things (plus other things in support of
these) to help you catch bugs in the act:

  • Start your program, specifying anything that might affect its behavior.
  • Make your program stop on specified conditions.
  • Examine what has happened, when your program has stopped.
  • Change things in your program, so you can experiment with correcting
    the effects of one bug and go on to learn about another.

翻译就是:GBD主要可以做四件事帮你去抓BUG.

  • 开始你的程序,指定一些可能影响程序运行的事情
  • 让你的程序停止在特定的条件下
  • 当你的程序停止运行时,检查发生了什么。
  • 调整你的程序,这样你就可以尝试修正一个bug的影响并继续学习另一个问题

要使用GDB调试程序,生成程序的时候,需要带上-g选项,如gcc -g test.c -o test,执行的时候,使用gdb启动,gdb test

GDB可以有三种调试方式

  • 直接启动调试程序gdb a.out
  • 调试挂掉的程序,这里必须加上core文件dgb q.out core
  • 调试正在运行的程序,这里必须知道进程号gdb -p 1234

GDB命令不多,大概也就10来个

  • break
  • run
  • bt
  • print
  • next
  • edit
  • list
  • step
  • help
  • quit

标签:程序,GDB,笔记,gdb,program,your,调试
From: https://www.cnblogs.com/njit-sam/p/17727162.html

相关文章

  • Linux笔记(1)
    文件操作命令1.创建文件命令:touch-创建文件touch命令主要用于创建普通文件,用法为 touchtest.txt2.查看文件命令:cat-查看文件内容cat命令主要用于查看内容较少的文件,用法为cat路径 命令:more-查看文件内容more命令主要用于查看内容多的文件,可以......
  • 微积分 学习笔记
    1.函数,图形在高中,我们学过圆锥曲线,大学对它进行了拓展。要学习微积分,首先要先学习函数。在数学中,函数的定义是:给定两个集合\(S1,S2\),一个规则\(f\),对于每个\(S1\)中的元素\(x\),\(f\)都把它变化成\(S2\)中的元素。\(S2\)的所有元素都对应至少一个\(S1\)的元素。\(S1\)被称为定......
  • 学习笔记三
    sh编程sh脚本sh脚本是一个包含sh语句的文本文件,命令解释程序sh要执行该语句,所有的sh基本都执行相同的任务,脚本在语法上略有不同,shebang允许允许主sh调用适当版本的sh来执行脚本。如果未指定shebang,默认执行sh,即下列程序的第一行。例:创建一个一个文本文件mysh,包含:#!/bin/bash......
  • 树哈希学习笔记
    我们用字符串哈希可以判断字符串相等,那么判断树同构呢?两棵树同构,当且仅当存在将其中一棵树的节点打乱的方案,使得打乱后两棵树完全相同。树哈希,就是把字符串哈希搬到树上来。对于两棵同构的有根树,其哈希值相同。下面介绍一种构造方式。\[f_i=\sum\limits_{x\inson(i)}f_xp_{|......
  • 20211314王艺达学习笔记3
    sh编程sh脚本与C程序·C程序必须先编译链接到一个二进制可执行文件,再通过主sh的子进程运行该二进制可执行文件;sh则可直接执行行命令。·sh脚本不需要main函数。编写sh脚本shell的基本语法主要就是如何输入命令运行程序以及如何在程序之间通过shell的一些参数提供便利手段来进......
  • 第十章学习笔记
    一、学习笔记(sh编程)sh脚本sh脚本(Bourne1982;Forouzan和Gilberg2003)是一个包含sh语句的文本文件,命令解释程序sh要执行该语句。sh脚本的第一行通常以#!组合开始,通常称为shebang。当主sh见到shebang时,会读取脚本所针对的程序名并调用该程序。sh有许多不同的版本,例......
  • 第三周学习笔记
     ......
  • 20211301 学习笔记3
    20211301《Unix/Linux系统编程》学习笔记3学习目标总结一下一门程序设计语言有哪些必备的要素和技能?这些要素和技能在shell脚本中是如果呈现出来的?教材知识总结10.1sh脚本定义:sh脚本是一个包含sh语句的文本文件、命令解释程序sh要执行该语句sh:sh是解释程序,逐行......
  • 编程笔记·开篇
    2023年9月,经过一夜的辗转难眠,最后在一个清晨,我坐上了久违的地铁......
  • 学习笔记3
    一门程序设计语言必备的要素和技能一门程序设计语言具有一些共同的要素和技能,无论是Python、C还是Java,以下是其中一些必备的要素和技能:语法:了解语言的基本语法规则,包括变量、数据类型、运算符、控制流语句(如条件语句和循环语句)、函数、类等。数据结构:掌握常见的数据结构,如......