BBS水木清华站∶精华区
发信人: TJB (老六), 信区: Linux
标 题: GDB (5)
发信站: BBS 水木调试站 (Wed Jun 3 08:30:22 1998)
发信人: SYSOP (老六), 信区: Linux
标 题: GDB
发信站: 侠剑情缘 (Tue Jun 2 16:08:25 1998), 转信
信件提要:gdb(五)
原发信站:中国科大BBS站(Thu, 02 Apr 1998 01:02:56)
输入命令的技巧
==================
前面已经提到过TAB键的使用。使用TAB键能让你方便的得到所要的命令。比如
在gdb中:
(gdb)info bre <TAB>(键入info bre,后按TAB键)
gdb能为你完成剩下的输入。它还能萎蔫提供选择的可能性。如果有两个以上可
能的话,第一次按<TAB>键,gdb会响铃提示,第二次则显示可能的选择。同样gdb
也可以为一些子命令提供快速的访问。用法与上相同。
上例中显示
(gdb)info breakepoints
你也可以直接打回车,gdb就将你输入的作为命令的可能的缩写。来判断执行。
如果你打入的缩写不足以判断,那么gdb会显示一个列表,列出可能的命令。同样的
情况对于命令的参数。在显示完后gdb把你的输入拷贝到当前行以便让你继续输入。
如果你只想看看命令的列表或选项,你可以在命令行下打M-?(就是按着ESC键
同时按SHIFT和?键)。你可以直接在命令行下打试试。
(gdb)<M-?>
gdb会响铃并显示所有的命令。不过这种方式好象在远程调试是不行。当有的命令
使用一个字符串时,你可以用" ' "将其括起来。这种方法在调试C++程序时特别有用。
因为C++支持函数的重载。当你要在某个有重载函数上设断点时,不得不给出函数参数
以区分不同的重载函数。这时你就应该把整个函数用" ' "括起来。比如,你要在一个
叫name的函数上设断点,而这个函数被重载了(name(int)和name(float))。你将不得
不给出参变量以区分不同的函数。使用'name(int)'和'name(float)'。这里有个技巧,
你可以在函数名前加一个" ' "符号。然后打M-?.
--
※ 来源: 中国科大BBS站 [bbs.ustc.edu.cn]
--
☆ 来源:.侠剑情缘 tjb.ml.org.[FROM: [email protected]]
--
※ 来源:·BBS 水木调试站 Leeward.lib.tsinghua.edu.cn·[FROM: 202.200.37.100]
BBS水木清华站∶精华区