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水木清华站∶精华区