gd调试命令,gdb调试core文件

使用 gcc -g test.c -o test.out 编译程序,只有加-g参数才支持gdb调试;

然后 gdb ./test.out 运行可执行文件,进入gdb调试模式(gdb),在括号后面的输入命令;

(gdb)help:查看命令帮助

(gdb)start:单行执行

(gdb)l:查看源程序

(gdb)n:执行下一行

(gdb)s:进入被调函数里面

(gdb)bt:查看函数调用栈

(gdb)p 变量:打印变量值

(gdb)f:切换函数栈帧

(gdb)run:重新开始运行文件

(gdb)finish:结束当前函数,返回到函数调用点

(gdb)q:退出gdb

(gdb)回车:执行上一条命令

调试core文件:

先找到core的发生未知:find $HOME -name core

然后进入到core发生的目录,可以使用 file + 目录 辅助定位是哪个可执行文件报core

然后执行 gdb + 可执行文件

(gdb)where:可以看到哪一行有错

原文地址:https://www.cnblogs.com/yinguojin/p/9273687.html

时间: 2024-08-29 23:09:41

gd调试命令,gdb调试core文件的相关文章

用gdb分析core文件及常见gdb命令操作示例

1.概述 在实际的软件开发项目中,程序出现问题是在所难免的.遥想本人参加工作之后首次遇到程序的情景,至今还历历在目.之前的经验告诉我,我们越是惊慌失措,问题就越是解决不了.我们要先让自己平静下来,然后再寻找解决程序问题的办法. 在Linux下做开发的朋友,想必都与core文件打过交道.当看到自己的程序运行之后出现core时,很多人都慌乱了,仿佛天快要塌下来一样.其实,我们大可不必如此,只要我们掌握了用gdb调试core文件的办法,依然可以很快定位程序问题,一举将bug消灭掉.有关Linux co

程序调试命令gdb

锁定线程 set scheduler-locking 1.要使用此命令,先用gcc -g编译程序,如:  $gcc -g test.c -o test  编译test.c源程序,输入此程序的调试版本test 2.调试程序  $gdb test //调试可执行程序test  $(gdb)start //使用程序test开始运行    列出指定函数的源代码,或列出指定行号开始的源程序  $(gdb)list 函数名  $(gdb)list 行号    backtrace(或bt) 查看各级函数调用及

core文件与gdb调试

本文简单介绍core文件与gdb调试core文件的方法 概要:     1. core 文件     2. 配置core程序崩溃时产生文件     3. 可修改core文件名    4. 产生core文件的情形     5. gdb调试core文件         a) gdb -c <xxx.core> [可执行程序]         b) gdb命令:backtrace / bt          c) gdb命令:up/down/frame         d) gdb命令:info l

GDB Core,gdb 调试大全,core文件调试

编译: gcc -g -o hello hello.c gdb 调试: 基本 gdb 命令. 命 令 描 述 小结:常用的gdb命令 backtrace 显示程序中的当前位置和表示如何到达当前位置的栈跟踪(同义词:where) breakpoint 在程序中设置一个断点 cd 改变当前工作目录 clear 删除刚才停止处的断点 commands 命中断点时,列出将要执行的命令 continue 从断点开始继续执行 delete 删除一个断点或监测点:也可与其他命令一起使用 display 程序停

linux下core文件调试方法(转载)

转自于:http://blog.csdn.net/fcryuuhou/article/details/8507775 在程序遇到段错误不寻常退出时,一般是访问内存出错.但是不会给出程序哪里出现的问题,这个时候就需要core文件来帮助调试. 内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息).使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数. 1.core文件的生成开关和大小限制 1)使用ulimit -c命令可查看core文件的生成开关.若结果

gdb调试命令的使用及总结

gdb调试命令的使用及总结 gdb是一个在UNIX环境下的命令行调试工具.如果需要使用gdb调试程序,请在gcc时加上-g选项.下面的命令部分是简化版,比如使用l代替list等等. 1.基本命令 命令 描述 backtrace(或bt) 查看各级函数调用及参数 finish 连续运行到当前函数返回为止,然后停下来等待命令 frame(或f) 帧编号 选择栈帧 info(或i) locals 查看当前栈帧局部变量的值 list(或l) 列出源代码,接着上次的位置往下列,每次列10行 list 行号

使用GDB调试器(一)

使用GDB调试器 GDB概要---- GDB是GNU开源组织公布的一个强大的UNIX下的程序调试工具.也许,各位比較喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但假设你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC.BCB的图形化调试器更强大的功能.所谓"寸有所长.尺有所短"就是这个道理. 一般来说.GDB主要帮忙你完毕以下四个方面的功能: 1.启动你的程序,能够依照你的自己定义的要求随心所欲的执行程序.    2.可让被调试的程序在你所指定的调置的断点处停住.

Linux GDB调试C/C++项目

Linux 下运行C++项目中遇到Segmentation fault 这样的问题,往往不会有太多错误信息,通常需要GDB来调试 1.编译Debug版本 make debug 2.生成最新版本的core文件,如果有core文件,rm. ulimit -c unlimited -c 后面加的参数是: 1)使用ulimit -c命令可查看core文件的生成开关.若结果为0,则表示关闭了此功能,不会生成core文件. 2)使用ulimit -c filesize命令,可以限制core文件的大小(fil

gdb 调试学习

gdb 是unix/linux 系统下的程序调试工具,和IDE(如VS, Eclipse等)的图形化调试工具相比,gdb在断点,跟踪显示方面有着不足,但是它在某些方面比图形化调试工具更加丰富的功能. gdb 调试前提 如果希望程序能够被gdb调试,则需要在编译程序时候,指定 -g 选项. gdb 的调试和程序的release 优化一样,也存在着级别,可以手动设置.默认的gdb级别为2, 当把gdb的调试级别设置为3的时候,可以在gdb调试过程中 macro expand/exp  对程序中的宏定

使用gdb调试c++程序

上篇(使用c++开发跨平台程序)说到,我不怕造东西,我怕的是造出来的东西,如果出了问题,我却不知道原因.所以调试分析是一个重要的手段. C++调试是一个复杂的活.虽然大部分调试可以通过IDE在开发期间就解决了.但是必然的,还有很多东西需要在生产环境中还原它.分析它,然后解决它.gdb是一个成熟的工具.围绕着它有很多的工具可以选择.不过这么多工具的根本还是命令行模式下的gdb. 废话不多说,现在我就用gdb来分析调试一下吧. 生成dump文件: 在shell中输入命令: ulimit -c unl