程序的调试过程主要有:单步执行,跳入函数,跳出函数,设置断点,设置观察点,查看变量。  本文将主要介绍linux下的强大调试工具是怎么完成这些工作的。之所以要调试程序,是因为程序的运行结果和预期结果不一致,或者程序出现运行时错误。  调试的基本思想是:  分析现象 -> 假设错误原因 -> 产生新的现象去验证假设调试器(如GDB)的目的是允许你在程序运行时进入到某个程序内部去看看该程序            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-15 18:57:35
                            
                                295阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、准备好内容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
                            
                                297阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            一.gdb常用命令: 命令 描述 backtrace(或bt) 查看各级函数调用及参数 finish 连续运行到当前函数返回为止,然后停下来等待命令 frame(或f) 帧编号 选择栈帧 info(或i) locals 查看当前栈帧局部变量的值 list(或l) 列出源代码,接着上次的位置往下列,每次列10行 list 行号 列出从第几行开始的源代码 list 函数名 列出某个函数的源代码 nex            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-27 15:20:55
                            
                                169阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            使用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,你将看不见程序的函数名、变量名,所代替的全是运行时的内存地址。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-29 11:39:22
                            
                                119阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具,主要完成以下四个方面的内容:     1.启动程序,让陈程序按照自己的定义随心所欲的运行。     2.可以放程序在指定的断点处停住。     3.当程序挺住时,可以检查程序发生的事情。     4.动态改变程序的执            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-18 17:52:50
                            
                                245阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            用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
                            
                                98阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            指针实现变量交换值 让我们用gdb工具来看看其中的奥妙。 生成gdb调试版本的main.out文件。 进入调试模式 l 进行查看 start 开始执行 n 下一步 s 进入子函数 p 打印值。经过交换之后,a变成了3 ,b变成了5。 q退出。 通过gdb可以一步一步的查看程序的执行情况,看到内存的值            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-08-05 16:11:38
                            
                                323阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            <br /> GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-10-19 14:18:06
                            
                                159阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            上篇文章是2012年8月8日,除了是北京奥运会4周年之外,没啥特殊的意义。。
时隔半年,又回来看了一看,发现还是有很多人在访问我的博客,突然感觉有点愧疚。这半年一直在打理个人博客,这边就有点荒废了。
妈妈说,这样做是不对的。
所以这边重新开始弄起来。技术为主,口水为辅。
废话一说就多,这篇文章来讲讲Linux下强大的调试工具--gdb。
------------------性感的分割线-            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2013-04-15 15:27:59
                            
                                2523阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            用GDB调试程序GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能:   &n            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2013-12-09 11:29:10
                            
                                360阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            系统环境:python环境: 下面进行安装:(均以root用户安装) 1.安装pipx curl https://raw.githubusercontent.com/cs01/pipx/master/get-pipx.py | python3 出问题了,提示安装方法失效了。 打开链接:https://github.com/pipxproject/pipx 找到以下部分:注意:这里有个坑,我们要选择            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-30 16:16:39
                            
                                35阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            GDB概述 ————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能:    1、启动你的程序            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-27 19:16:51
                            
                                96阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            本文中,我们讨论如何在6个简单步骤下使用gdb调试器调试C程序。为了调试目的编写一个带有错误的C程序示例。为了学习C编程调试,让我们创建下面C程序,它计算并且打印一个数的阶乘。然而该C程序包括一些错误,它是为了我们调试目的而为。$ vim factorial.c# include <stdio.h> int main(){    &nb            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-27 10:04:18
                            
                                86阅读
                            
                                                                             
                 
                
                             
         
            
            
            
               一旦使用GDB挂上被调试程序,当程序运行起来后,你可以根据自己的调试思路来动态地在GDB中更改当前被调试程序的运行线路或是其变量的值,这个强大的功能能够让你更好的调试你的程序,比如,你可以在程序的一次运行中走遍程序的所有分支。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2003-07-12 16:42:00
                            
                                1746阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            启动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
                            
                                1755阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能:    1、启动你的程序,可以按照你            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2013-08-16 10:31:50
                            
                                855阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            查看运行时数据 ——————— 在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。print命令的格式是: print print / 是表达式,是你所调...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2013-04-10 16:33:00
                            
                                100阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            查看栈信息 ————— 当程序被停住了,你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一个函数,函数的地址,函数参数,函数内的局部变量都会被压入“栈”(Stack)中。你可以用GDB命令来查看当前的栈中的信息。 下面是一些查看函数调用栈信息的GDB命令: backtrac...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2013-04-10 16:32:00
                            
                                100阅读
                            
                                                                                    
                                2评论