程序的调试过程主要有:单步执行,跳入函数,跳出函数,设置断点,设置观察点,查看变量。  本文将主要介绍linux下的强大调试工具是怎么完成这些工作的。之所以要调试程序,是因为程序的运行结果和预期结果不一致,或者程序出现运行时错误。  调试的基本思想是:  分析现象 -> 假设错误原因 -> 产生新的现象去验证假设调试器(如GDB)的目的是允许你在程序运行时进入到某个程序内部去看看该程序            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-15 18:57:35
                            
                                295阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一.gdb常用命令: 命令 描述 backtrace(或bt) 查看各级函数调用及参数 finish 连续运行到当前函数返回为止,然后停下来等待命令 frame(或f) 帧编号 选择栈帧 info(或i) locals 查看当前栈帧局部变量的值 list(或l) 列出源代码,接着上次的位置往下列,每次列10行 list 行号 列出从第几行开始的源代码 list 函数名 列出某个函数的源代码 nex            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-27 15:20:55
                            
                                169阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一般来说GDB主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,我们必须要 把调试信息加到可执行文件中。使用编译 器(cc/gcc/g++)的 -g 参数可以做到这一点。如: > cc -g hello.c -o hello 
> g++ -g hello.cpp -o hello 
如果没有-g,你将看不见程序的函数名、变量名,所代替的全是 运            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-22 14:35:03
                            
                                36阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            最近在开始刷LeetCode,也开始在Linux上写代码,直接gcc编译,在调试的时候,需要用到gdb调试,所以在这里会不定期更新我学习到的gdb调试。先编译成可执行文件首先我们使用g++或者gcc编译成可执行文件,记得要加-g编译选项,表示生成调试信息,以便我们使用gdb调试。开始调试假设我们有一个 main.cpp文件,编译链接后生成了main这个可执行文件,进行调试:gdb main设置断点            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-28 13:05:57
                            
                                106阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            GDB是GNU开源组织发布的一个强大的Lunix下的程序调试工具。如果你的工程遇到段错误等棘手问题时,不妨采用GDB调试查找。如果你对GDB调试不是很清楚,情详细阅读下面文章,你会发现GDB是多么的方便和强大。文章是我遇到问题同事发给我的,应该是网上招的资料,不幸的是文章中没有原作者信息,只能默默祝福这位大贤的。中国路人只起基站的作用,让这篇文章让更多的同仁收益,仅此而已!GDB概述 一般来说,G            
                
         
            
            
            
            gdb远程调试的一些技巧大家应该都知道,调试远程程序可以用gdbserver, 1 .生成可调试程序比如一个源文件:main.cpp交叉编译生成test 加-g生成调试信息.arm-linux-gcc main.cpp -g -o test 千万不要strip,否则调试信息就不存在了. 2. gdbserver调试假设板子IP为192.168.0.19,              
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-22 20:31:01
                            
                                29阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            参考文章:https://mozillazg.com/2017/07/debug-running-python-process-with-gdb.html https://blog.alswl.com/2013/11/python-gdb/ 我在本地没有安装python2.7-debug成功,其实查            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2018-01-24 20:40:00
                            
                                377阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            # 使用 GDB 调试 Python 程序的指南
在软件开发的过程中,调试是一个非常重要的环节。对于 Python 程序,使用 GDB(GNU 调试器)进行调试也是一种有效的方式。这篇文章旨在教你如何通过 GDB 来调试 Python 程序,并提供完整的步骤和代码示例。
## 调试流程
接下来我们将介绍调试 Python 程序的基本流程,如下表:
| 步骤 | 操作            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-08-27 07:23:11
                            
                                176阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1. 隐藏gdb进入时的版本信息 gdb -q
2. gdb输出信息较多时、gdb会暂停输出、打印提示信息、关掉提示、可以使用
   set pagination off
   或者 set height 0
3. info functions 查看所有的函数列表
4. info functions thread* 查看所有以thread开头的函数列表
5. n 执行下一句代码
   s 进入自            
                
         
            
            
            
            GDB是GNU发布的一款功能强大的程序调试工具 GDB主要完成三个方面的功能:1.启动呗调试程序2.让被调试的程序在指定的位置停住3.当程序被停住时,可以查看程序的运行状态。例:1.编译生成可执行文件: gcc -g hello.c -o hello2.启动GDB gdb hello3.在main函数出设置断点 break main4.运行程序 runGDB常用命令gdb hello启动GDBfi            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2013-09-16 22:08:59
                            
                                331阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # GDB如何调试Python程序
在调试Python程序时,使用GDB可以帮助我们定位并解决问题。下面我们将介绍如何使用GDB来调试Python程序,并通过一个具体的问题场景来演示。
## 准备工作
在使用GDB调试Python程序之前,需要安装GDB和Python的调试符号文件。具体安装方法可以参考官方文档或者网上教程。
## 场景描述
假设我们有一个简单的Python程序,功能是计            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-04-13 04:52:15
                            
                                464阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            使用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阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            本文中,我们讨论如何在6个简单步骤下使用gdb调试器调试C程序。为了调试目的编写一个带有错误的C程序示例。为了学习C编程调试,让我们创建下面C程序,它计算并且打印一个数的阶乘。然而该C程序包括一些错误,它是为了我们调试目的而为。$ vim factorial.c# include <stdio.h> int main(){    &nb            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-27 10:04:18
                            
                                86阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             背景        C++作为常用的程序开发语言之一,在程序开发中和交付阶段,程序员都需要花费大量的时间做代码调试。在特定的场合下,如果不能使用vscode用户交互友好的编译平台进行debug调试,那gdb调试工具的熟练掌握则尤为重要了。                  
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-05 18:39:19
                            
                                407阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            近段时间在测试程序的时候,遇到了许多问题,又需要再次用到gdb,虽然之前也写过一篇关于gdb调试的文章,但是涵盖的内容比较片面,有许多实用的gdb命令和操作都没有介绍到,于是又写了这篇文章来丰富加强一下自己的gdb技能。1.GDB启动方法1. gdb + 可执行文件事先将源代码编译生成可执行文件,输入gdb + 可执行文件的名字进入调试状态,如:gdb test
gdb ./test2. gdb            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-09 19:50:00
                            
                                232阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.怎么调试程序在linux下,我们通常用gcc来编译链接程序,用gdb来调试程序。在用gcc生成程序的时候,用-g选项来使程序可以调试:test@test-ThinkPad-Edge-E420s:~/gdb$ gcc -g -Wall gdbtest.c -o gdbtest然后在用如下命令调试程序:test@test-ThinkPad-Edge-E420s:~/gdb$ gdb gdbtest            
                
         
            
            
            
            常用GDB 命令详细解释 
Linux中包含有一个很有用的调试工具--gdb(GNU Debuger),它可以用来调试C和C++程序,功能不亚于Windows下的许多图形界面的调试工具。
 
和所有常用的调试工具一样,gdb提供了以下功能:
 # 监视程序中变量的值
 # 在程序中设置断点
 # 程序的单步执行
 
在使用gdb前,必须先载入可执行文件            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2013-03-12 13:43:45
                            
                                628阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            GDB主要完成下面三个方面的功能:
1.启动被调试程序。
2.让被调试的程序在指定的位置停住。
3.当程序被停住时,可以检查程序状态(如变量值)。
 
1.编译生成可执行文件:gcc -g tst.c -o tst
2.启动GDB:gdb tst
3.在main函数处设置断点:break main
4.运行程序:run
5. 单步运行:next
6.继续运行:cont            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2013-03-11 23:12:46
                            
                                722阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一:列文件清单 
1. List 
(gdb) list line1,line2 
二:执行程序 
要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符()和外壳通配符(*、?、[、])在内。 
如果你使用不带参数的run命令,gdb就再次使用你给予前一条run命令的参数,这是很有用的。 
利用set args 命令就可以修改发送            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2013-03-19 15:14:29
                            
                                548阅读