摘要:时常会遇到段错误(segfault),调试非常费劲,除了单元测试和基本测试外,有些时候是在在线环境下,没有基本开发和测试工具,这就需要调试的技能。以前介绍过使用strace进行系统调试和追踪《linux动态追踪神器——Strace实例介绍》。今天给大家介绍下利用core du
阅读全文
随笔分类 - linux GDB
GDB 的使用
摘要:运行: (gdb) r 命令行带参: (gdb) r "参数1" "参数2" (gdb) set args "参数1" "参数2" //set args 10 20 40 查看/设置 运行环境: (gdb) show args //查看命令行参数 (gdb) show paths //查看运行路径
阅读全文
摘要:一旦使用GDB挂上被调试程序,当程序运行起来后,你可以根据自己的调试思路来动态地在GDB中更改当前被调试程序的运行线路或是其变量的值,这个强大的功能能够让你更好的调试你的程序,比如,你可以在程序的一次运行中走遍程序的所有分支。一、修改变量值 修改被调试程序运行时的变量值,在GDB中很容易实现,使用G...
阅读全文
摘要:查看栈信息当程序被停住了,首先要确认的就是程序是在哪儿被断住的。这个一般是通过查看调用栈信息来看的。在gdb中,查看调用栈的命令是backtrace,可以简写为bt。(gdb) bt#0 pop () at stack.c:10#1 0x080484a6 in main () at main.c:1...
阅读全文
摘要:在使用GDB调试程序时,触发断点后,可以使用print命令(简写为p),或是同义命令inspect来查看当前程序的运行数据。print命令的格式是: print print / 是表达式,是所调试程序的语言的表达式(GDB可以调试多种编程语言);是输出的格式,例如如果要把表达式按16进制的格式输出...
阅读全文
摘要:编写代码过程中少不了调试。在windows下面,我们有visual studio工具。在linux下面呢,实际上除了gdb工具之外,你没有别的选择。那么,怎么用gdb进行调试呢?我们可以一步一步来试试看。[cpp]view plaincopy#includeintiterate(intvalue){...
阅读全文
摘要:用GDB调试程序 GDB概述———— GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”
阅读全文
摘要:GDB的命令概貌———————启动gdb后,就你被带入gdb的调试环境中,就可以使用gdb的命令开始调试程序了,gdb的命令可以使用help命令来查看,如下所示: /home/hchen> gdb GNU gdb 5.1.1 Copyright 2002 Free Software Foundati...
阅读全文