随笔分类 -  gdb

摘要:gdb -args ./Recvor -P 7000 -C ../server.conf -M true -D 带参数的调试GNU gdb (GDB) Red Hat Enterprise Linux (7.0.1-32.el5)Copyright (C) 2009 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>This is free software: you are free to change and red 阅读全文
posted @ 2012-04-13 12:01 笑笑小白 阅读(3135) 评论(0) 推荐(0) 编辑
摘要:1.以行号设置断点 (gdb)break 7 (gdb)run2.以函数名设置断点(gdb)break function_name(gdb)run3.以条件表达式设置断点(gdb)break 7 if i==99(gdb)run4.另一种,以表达式设置断点的方法 (gdb)watch i==99 这个命令必须在变量i被定义之后才会成功运行,为了解决这个问题,首先在变量 i 被定义的后一行设置中断,然后使用run命令运行程序,程序暂停后就可以使用watch i==99设置断点了。##############################单步执行(gdb)next################ 阅读全文
posted @ 2012-04-13 11:52 笑笑小白 阅读(38920) 评论(1) 推荐(1) 编辑
摘要:编译时必须加上参数-g ,例:g++ -g temp.cpp -o temp.通过Gcc编译生成可执行文件才能用Gdb进行调试。进入gdb界面:gdb temp.提示符变成(gdb)(1)查看文件在Gdb中键入”l”(list)就可以查看所载入的文件(2)设置断点只需在”b”后加入对应的行号即可(这是最常用的方式,另外还有其他方式设置断点)。如下所示:(gdb)b 6代码运行到第五行之前暂停(并没有运行第五行)。(3)查看断点情况(Gdb)info b(4)运行代码Gdb默认从首行开始运行代码,可键入”r”(run)即可(若想从程序中指定行开始运行,可在r后面加上行号)。(5)查看变量值查看断 阅读全文
posted @ 2012-04-13 10:03 笑笑小白 阅读(11455) 评论(0) 推荐(0) 编辑
摘要:在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。print命令的格式是:printprint /是表达式,是你所调试的程序的语言的表达式(GDB可以调试多种编程语言),是输出的格式,比如,如果要把表达式按16进制的格式输出,那么就是/x。一、表达式print和许多GDB的命令一样,可以接受一个表达式,GDB会根据当前的程序运行的数据来计算这个表达式,既然是表达式,那么就可以是当前程序运行中的const常量、变量、函数等内容。可惜的是GDB不能使用你在程序中所定义的宏。表达式的语法应该是当前所调试的语言的语法,由于C/ 阅读全文
posted @ 2012-04-12 18:26 笑笑小白 阅读(79903) 评论(1) 推荐(2) 编辑
摘要:Linux中包含有一个很有用的调试工具--gdb(GNU Debuger),它可以用来调试C和C++程序,功能不亚于Windows下的许多图形界面的调试工具。和所有常用的调试工具一样,gdb提供了以下功能: # 监视程序中变量的值 # 在程序中设置断点 # 程序的单步执行在使用gdb前,必须先载入可执行文件,因为要进行调试,文件中就必须包含调试信息,所以在用gcc或cc编译时就需要用-g参数来打开程序的调试选项。调试开始时,必须先载入要进行调试的程序,可以用以下两种方式: * 在启动gdb后执行以下命令: file 可执行文件路径 * 在gdb启动时就载入程序: gdb 可执行文件路径... 阅读全文
posted @ 2012-04-12 18:01 笑笑小白 阅读(1586) 评论(0) 推荐(0) 编辑