用GDB调试程序 转载 mob604756f9c5f2 2011-08-14 13:47:00 文章标签 linux ubuntu gdb调试 php 其他 文章分类 代码人生 用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/ 本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。 赞 收藏 评论 分享 举报 上一篇:CentOS6.5下安装JDK 下一篇:conversion to dalvik format failed with error 1的解决办法 提问和评论都可以,用心的回复会被更多人看到 评论 发布评论 全部评论 () 最热 最新 相关文章 IDA动态调试 简介IDA动态调试是一种常用的逆向工程技术,它可以帮助分析人员在运行时动态地调试和分析二进制程序。IDA动态调试提供了以下功能:断点设置:可以在程序执行的特定位置设置断点,当程序执行到断点处时会暂停执行,方便分析人员观察程序状态。单步执行:可以逐条指令地执行程序,观察每一步的执行结果,帮助分析人员理解程序的执行流程。寄存器和内存查看:可以查看程序运行时的寄存器状态和内存内容,帮助分析人员了解程序的 调试器 动态调试 寄存器 IDEA 调试技巧 今天给大家带来几个我日常工作以及阅读源码必备的 IntelliJ IDEA 高级调试技巧,分分钟要起飞的节奏。1. 条件断点循环中经常用到这个技巧,比如:遍历1个大List的过程中,想让断点停在某个特定值。public static void main(String[] args) { for (int i = 0; i < 100; i++) { idea工具 工作四年,我学会了用 Idea本地调试线上测试服务器代码 工作四年,我学会了用 Idea本地调试线上测试服务器代码工作四年,我学会了用 Idea本地调试线上测试服务器代码?一位 Java 开发者的使用总结,谈使用经验也聊聊工作原理? 一.那些辛酸的过往历历在目的场景?(❁´◡❁)(❁´◡❁)线上出现问题,但是没加日志打印拍脑门惋惜为啥不多打一行日志加日志重新部署,半小时没了,问题还没有找到,头顶的灯却早已照亮了整层楼......排查别人线上的 bug,不 jar包 服务器 jar 用GDB调试程序(七) 一旦使用GDB挂上被调试程序,当程序运行起来后,你可以根据自己的调试思路来动态地在GDB中更改当前被调试程序的运行线路或是其变量的值,这个强大的功能能够让你更好的调试你的程序,比如,你可以在程序的一次运行中走遍程序的所有分支。 程序 GDB 用GDB调试程序(三) 四、维护停止点上面说了如何设置程序的停止点,GDB中的停止点也就是上述的三类。在GDB中,如果你觉得已定义好的停止点没有用了,你可以使用delete、clear、disable、enable这几个命令来进行维护。 clear 清除所有的已定义的停止点。 clear <function> clear <filename:function> 清除所有设置在函数上的停止点。 程序 GDB 用GDB调试程序(一) 用GDB调试程序GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的程序,可以按 i++ 调试工具 搜索 图形化 linux 用GDB调试程序(四) 查看栈信息 ————— 当程序被停住了,你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一个函数,函数的地址,函数参数,函数内的局部变量都会被压入“栈”(Stack)中。你可以用GDB命令来查看当前的栈中的信息。 下面是一些查看函数调用栈信息的GDB命令: backtrac... 源程序 搜索 源文件 f5 局部变量 用GDB调试程序(五) 查看运行时数据——————— 在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。print命令的格式是: print print / 是表达式,是你所调试的程序的语言的表达式(GDB可以调试多种编程语言),是输出的格式,比如,如果要把表达式按16进制的格式输出,那么... 数据 操作符 全局变量 内存地址 数组 用GDB调试程序(二) GDB的命令概貌———————启动gdb后,就你被带入gdb的调试环境中,就可以使用gdb的命令开始调试程序了,gdb的命令可以使用help命令来查看,如下所示: /home/hchen> gdb GNU gdb 5.1.1 Copyright 2002 Free Software Foundation, Inc. GDB is free software, cover... c++ 程序运行 unix 源文件 动态链接库 用GDB调试程序(六) 七、设置显示选项 GDB中关于显示的选项比较多,这里我只例举大多数常用的选项。 set print address set print address on 打开地址输出,当程序显示函数信息时,GDB会显出函数的参数地址。系统默认为打开的,如: ... 寄存器 环境变量 数据 数组 静态数据成员 gdb调试程序 一、准备好内容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... linux 调试程序 i++ #include 解决方案