一、准备好内容vim test3.c 输入如下即可#include int func(int n){ int sum=0,i; for(i=0; iint get_sum(int n){ int sum = 0,i;for(i=0;i<n;i++)sum += i;return sum;}int m...
转载 2014-09-23 11:52:00
280阅读
2评论
程序调试过程主要有:单步执行,跳入函数,跳出函数,设置断点,设置观察点,查看变量。 本文将主要介绍linux下的强大调试工具是怎么完成这些工作的。之所以要调试程序,是因为程序的运行结果和预期结果不一致,或者程序出现运行时错误。 调试的基本思想是: 分析现象 -> 假设错误原因 -> 产生新的现象去验证假设调试器(如GDB)的目的是允许你在程序运行时进入到某个程序内部去看看该程序
使用GDB一般来说GDB主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,我们必须要把调试信息加到可执行文件中。使用编译器(cc/gcc/g++)的 -g 参数可以做到这一点。如:$gcc -g -Wall hello.c -o hello $g++ -g -Wall hello.cpp -o hello如果没有-g,你将看不见程序的函数名、变量名,所代替的全是运行时的内存地址。
转载 2月前
86阅读
GDB调试程序 出自Ubuntu中文 目录
转载 2011-04-01 13:42:22
1438阅读
1点赞
GDB调试程序http://wiki.ubuntu.org.cn/index.php?title=%E7%94%A8GDB%E8%B0%83%E8%AF%95%E7%A8%8B%E5%BA%8F&variant=zh-hans使用 GDB 调试 Linux 软件http://www.ibm.com/developerworks/cn/linux/sdk/gdb/
转载 2011-08-14 13:47:00
84阅读
2评论
转载 2020-11-22 21:21:00
279阅读
GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具,主要完成以下四个方面的内容:     1.启动程序,让陈程序按照自己的定义随心所欲的运行。     2.可以放程序在指定的断点处停住。     3.当程序挺住时,可以检查程序发生的事情。     4.动态改变程序的执
转载 2023-08-18 17:52:50
219阅读
指针实现变量交换值 让我们用gdb工具来看看其中的奥妙。 生成gdb调试版本的main.out文件。 进入调试模式 l 进行查看 start 开始执行 n 下一步 s 进入子函数 p 打印值。经过交换之后,a变成了3 ,b变成了5。 q退出。 通过gdb可以一步一步的查看程序的执行情况,看到内存的值
原创 2021-08-05 16:11:38
283阅读
<br /> GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。
原创 2022-10-19 14:18:06
135阅读
上篇文章是2012年8月8日,除了是北京奥运会4周年之外,没啥特殊的意义。。 时隔半年,又回来看了一看,发现还是有很多人在访问我的博客,突然感觉有点愧疚。这半年一直在打理个人博客,这边就有点荒废了。 妈妈说,这样做是不对的。 所以这边重新开始弄起来。技术为主,口水为辅。 废话一说就多,这篇文章来讲讲Linux下强大的调试工具--gdb。 ------------------性感的分割线-
原创 2013-04-15 15:27:59
2362阅读
GDB调试程序GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能:   &n
转载 精选 2013-12-09 11:29:10
358阅读
一.gdb常用命令: 命令 描述 backtrace(或bt) 查看各级函数调用及参数 finish 连续运行到当前函数返回为止,然后停下来等待命令 frame(或f) 帧编号 选择栈帧 info(或i) locals 查看当前栈帧局部变量的值 list(或l) 列出源代码,接着上次的位置往下列,每次列10行 list 行号 列出从第几行开始的源代码 list 函数名 列出某个函数的源代码 nex
GDB概述 ————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能:    1、启动你的程序
转载 2023-08-27 19:16:51
74阅读
  一旦使用GDB挂上被调试程序,当程序运行起来后,你可以根据自己的调试思路来动态地在GDB中更改当前被调试程序的运行线路或是其变量的值,这个强大的功能能够让你更好的调试你的程序,比如,你可以在程序的一次运行中走遍程序的所有分支。
原创 2003-07-12 16:42:00
1702阅读
启动gdb后,就你被带入gdb调试环境中,就可以使用gdb的命令开始调试程序了,gdb的命令可以使用help命令来查看,如下所示:   /home/hchen> gdb   GNU gdb 5.1.1   Copyright 2002 Free Software Foundation, Inc.   GDB is free software, covered by the GNU General Public License
原创 2003-07-03 00:20:00
1696阅读
GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能:    1、启动你的程序,可以按照你
转载 精选 2013-08-16 10:31:50
810阅读
查看运行时数据 ——————— 在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。print命令的格式是: print print / 是表达式,是你所调...
转载 2013-04-10 16:33:00
84阅读
2评论
查看栈信息 ————— 当程序被停住了,你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一个函数,函数的地址,函数参数,函数内的局部变量都会被压入“栈”(Stack)中。你可以用GDB命令来查看当前的栈中的信息。 下面是一些查看函数调用栈信息的GDB命令: backtrac...
转载 2013-04-10 16:32:00
88阅读
2评论
七、设置显示选项 GDB中关于显示的选项比较多,这里我只例举大多数常用的选项。 set print address set print address on 打开地址输出,当程序显示函数信息时,GDB会显出函数的参数地址。系统默认为打开的,如: ...
转载 2013-04-10 16:34:00
115阅读
2评论
改变程序的执行 ——————— 一旦使用GDB挂上被调试程序,当程序运行起来后,你可以根据自己的调试思路来动态地在GDB中更改当前被调试程序的运行线路或是其变量的值,这个强大的功能能够让你更好的调试你的程序,比如,你可以在程序的一次运行中走遍程序的所有分支。 一、修改...
转载 2013-04-10 16:35:00
74阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5