
gdb
文章平均质量分 65
hanglinux
激情 梦想 认真 执着
展开
-
用GDB调试程序
转载, 原文链接 :http://blog.youkuaiyun.com/haoel/article/details/2879GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这转载 2013-11-18 21:46:53 · 908 阅读 · 0 评论 -
gdb命令手册
GDB的命令很多,本文不会全部介绍,仅会介绍一些最常用的。在介绍之前,先介绍GDB中的一个非常有用的功能:补齐功能。它就如同Linux下SHELL中的命令补齐一样。当你输入一个命令的前几个字符,然后输入TAB键,如果没有其它命令的前几个字符与此相同,SHELL将补齐此命令。如果有其它命令的前几个字符与此相同,你会听到一声警告声,再输入TAB键,SHELL将所有前几个字符与此相同的命令全部列出。而G转载 2013-11-18 21:46:51 · 899 阅读 · 0 评论 -
GDB的基本工作原理剖析
还是面某M的时候,面试官问我:“用过gdb么?” 答:“用过,调了两年bug了”。“那好,给我解释下gdb是怎么工作的?或者说跟内核什么地方有关系?”。 是阿,gdb凭什么可以调试一个程序?凭什么能够接管一个程序的运行?我以前也想过这样的问题,但是后来居然忘记去查看了。我想到了我们的二进制翻译器,想到了intel的pin,Dynamo。这些都是将翻译后的代码放到codecache中去运行,然后接转载 2013-11-18 21:46:49 · 1324 阅读 · 0 评论 -
linux中程序执行的流程分析工具——strace
源代码:#include main(){ char a='A'; int b=20; printf("%d,%o\n",(a=a+a,a+b,b),a+'a'-'A',b);}使用strace运行:[arm@acer test]$ ./prin20,141[arm@acer test]$ strace ./prinexecve("./pr原创 2013-11-18 21:47:54 · 1151 阅读 · 0 评论 -
gdb调试出错:Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.107.el6_4.5
运行gdb,下断点后r,出现Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.107.el6_4.5,本来以为小事情,但是rpm安装一直没有解决;几经周折,解决如下:1. 修改修改/etc/yum.repos.d/CentOS-Debuginfo.repo里面的debuginfo目录中enabled=12.运行:yum原创 2013-11-18 21:47:30 · 3322 阅读 · 0 评论 -
gdb常用参数小记
首先,程序编译后如果要加上gdb调试信息,要加上编译选项-g,如:gcc -g test.c -o test载入到gdb:执行gdb test。或者直接gdb,进入gdb后,执行file test,样的效果。常用命令:list(l):查看载入程序break(b):设置断点,如:在main函数处设置断点:break main;break 行号,在制定行添加断点;break 文件名:行号,在指定文件的原创 2013-11-18 21:47:32 · 1167 阅读 · 0 评论