program-gdb-3.html
来自「学习linux的工具书」· HTML 代码 · 共 87 行
HTML
87 行
<HTML>
<HEAD>
<TITLE>BBS水木清华站∶精华区</TITLE>
</HEAD>
<BODY>
<CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>
发信人: TJB (老六), 信区: Linux <BR>
标 题: GDB (3) Part One <BR>
发信站: BBS 水木调试站 (Tue Jun 2 15:59:45 1998) <BR>
<BR>
发 信 人:System_Killer(大家一起来发呆) 信区名称:Linux[4621] <BR>
信件提要:gdb(三) <BR>
原发信站:中国科大BBS站(Sun, 29 Mar 1998 14:50:47) <BR>
<BR>
运行GDB(一些详细的说明): <BR>
<BR>
前面已经提到过如何运行GDB了,现在让我们来看一些更有趣的东西。你可以在运行 <BR>
GDB时通过许多命令行参数指定大量的参数和选项,通过这个你可以在一开始就设置好 <BR>
程序运行的环境。 <BR>
这里将要描述的命令行参数覆盖了大多数的情况,事实上在一定环境下有的并没有 <BR>
什么大用处。最通常的命令就是使用一个参数: <BR>
$gdb <可执行文档名> <BR>
你还可以同时为你的执行文件指定一个core文件: <BR>
$gdb <可执行文件名> core <BR>
你也可以为你要执行的文件指定一个进程号: <BR>
$gdb <可执行文件名> <进程号> 如:&gdb os 1234将使gdb与进程1234相联系(attach) <BR>
除非你还有一个文件叫1234的。gdb首先检查一个core文件。 <BR>
如果你是使用一个远程终端进行远程调试的话,那如果你的终端不支持的话,你将无法 <BR>
使用第二个参数甚至没有core dump。如果你觉得开头的提示信息比较碍眼的话,你可以 <BR>
用gdb -silent。你还可以用命令行参数更加详细的控制GDB的行为。 <BR>
打入gdb -help或-h 可以得到这方面的提示。所有的参数都被按照排列的顺序传给gdb <BR>
除非你用了-x参数。 <BR>
当gdb开始运行时,它把任何一个不带选项前缀的参数都当作为一个可执行文件或core <BR>
文件(或进程号)。就象在前面加了-se或-c选项。gdb把第一个前面没有选项说明的参数 <BR>
看作前面加了-se 选项,而第二个(如果有的话)看作是跟着-c选项后面的。 <BR>
许多选项有缩写,用gdb -h可以看到。在gdb中你也可以任意的把选项名掐头去尾,只 <BR>
要保证gdb能判断唯一的一个参数就行。 <BR>
在这里我们说明一些最常用的参数选项 <BR>
-symbols <文件名>(-s <文件名>)------从<文件名>中读去符号。 <BR>
-exec <文件名>(-e <文件名>)----在合适的时候执行<文件名>来做用正确的数据与core <BR>
dump的作比较。 <BR>
-se <文件名>------从<文件名>中读取符号并把它作为可执行文件。 <BR>
-core <文件名>(-c <文件名>)--指定<文件名>为一个core dump 文件。 <BR>
-c <数字>----连接到进程号为<数字>,与attach命令相似。 <BR>
-command <文件名> <BR>
-x <文件名>-----执行gdb命令,在<文件名>指定的文件中存放着一序列的gdb命令,就 <BR>
象一个批处理。 <BR>
-directory(-d) <路径>---指定路径。把<路径>加入到搜索原文件的路径中。 <BR>
-m <BR>
-mapped---- <BR>
注意这个命令不是在所有的系统上都能用。如果你可以通过mmap系统调用来获得内存 <BR>
映象文件,你可以用这个命令来使gdb把你当前文件里的符号写入一个文件中,这个文件 <BR>
将存放在你的当前路径中。如果你调试的程序叫/temp/fred那么map文件就叫 <BR>
./fred.syms这样当你以后再调试这个程序时,gdb会认识到这个文件的存在,从而从这 <BR>
个文件中读取符号,而不是从可执行文件中读取。.syms与主机有关不能共享。 <BR>
-r <BR>
-readnow---马上从符号文件中读取整个符号表,而不是使用缺省的。缺省的符号表是 <BR>
调入一部分符号,当需要时再读入一部分。这会使开始进入gdb慢一些,但可以加快以后 <BR>
的调试速度。 <BR>
<BR>
-m和-r一般在一起使用来建立.syms文件 <BR>
<BR>
<BR>
接下来再谈谈模式的设置(请听下回分解 :-)) <BR>
附:在gdb文档里使用的调试例子我找到了在minix下有这个程序,叫m4有兴趣的 <BR>
可以自己去看看 <BR>
<BR>
-- <BR>
※ 来源: 中国科大BBS站 [bbs.ustc.edu.cn] <BR>
<BR>
<BR>
<BR>
-- <BR>
※ 来源:·BBS 水木调试站 Leeward.lib.tsinghua.edu.cn·[FROM: 202.200.37.100] <BR>
<CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?