📄 program-gdb-a.html
字号:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Mozilla/4.05 [zh-CN] (X11; I; Linux 2.1.127 i686) [Netscape]">
<title>BBS水木清华站∶精华区</title>
</head>
<body>
<center>
<h1>
BBS水木清华站∶精华区</h1></center>
发信人: TJB (老六), 信区: Linux
<br>标 题: GDB (6) Part Four
<br>发信站: BBS 水木调试站 (Wed Jun 3 08:38:20 1998)
<p>发信人: SYSOP (老六), 信区: Linux
<br>标 题: GDB
<br>发信站: 侠剑情缘 (Tue Jun 2 16:08:44 1998), 转信
<p>信件提要:gdb(六)
<br>原发信站:中国科大BBS站(Tue, 07 Apr 1998 01:15:03)
<p>工作路径
<br>================================
<br> 当你每次用'run'命令来运行你的程序时,你的程序将继承gdb的
<br>当前工作目录。而gdb的工作目录是从它的父进程继承而来的(一般是
<br>shell)。但你可以自己使用'cd'命令指定工作目录。
<br> gdb的工作目录就是它去寻找某些文件或信息的途径。
<br>`cd DIRECTORY'
<br> 把gdb的工作目录设为DIRECTORY
<br>`pwd'
<br> 打印输出当前目录。
<br>你程序的输入/输出
<br>===============================
<br> 缺省时,你的程序的输入/输出和gdb的输入/输出使用同一个终端。
<br>gdb在它自己和你的程序之间切换来和你交互,但这会引起混乱。
<br>`info terminal'
<br> 显示你当前所使用的终端的类型信息。
<br> 你可以把你程序的输入/输出重定向。
<br>例如:
<br> run > outfile
<br>运行你的程序并把你程序的标准输出写入文件outfile中。
<br> 另一个为你程序指定输入/输出的方法是使用'tty'命令,这个命令
<br>接受一个文件名作为参量把这个文件作为以后使用'run'命令的缺省命
<br>令文件。它还重新为子进程设置控制终端。
<br>例如:
<br> tty /dev/ttyb
<br>指定以后用'run'命令启动的进程使用终端'/dev/ttyb'作为程序的输入
<br>/输出,而且把这个终端设为你进程的控制终端。
<br> 一个清楚的使用'run'命令的重定向将重新设置'tty'所设置的内容
<br>,但不影响控制终端。 当你使用'tty'命令或在'run'命令中对输入
<br>/输出进行重定向时,只有你当前调试的程序的输入/输出被改变了,
<br>并不会影响到别的程序。
<br>调试一个已经运行的程序:
<br>====================================
<p>`attach PROCESS-ID'
<br> 这个命令把一个已经运行的进程(在gdb外启动)连接入gdb,以便
<br>调试。PROCESS-ID是进程号。(UNIX中使用'ps'或'jobs -l'来查看进程)
<br> 'attach'一般不重复。(当你打了一个以上的回车时)
<br> 当然要使用'attach'命令的话,你的操作系统环境必须支持进程。
<br>另外你还要有向此进程发信号的权力。
<br> 当使用'attach'命令时,你应该先使用'file'命令来指定进程所
<br>联系的程序源代码和符号表。 当gdb接到'attach'命令后第一件
<br>事就是停止进程的运行,你可以使用所有gdb的命令来调试一个“连接”
<br>的进程,就象你用'run'命令在gdb中启动它一样。如果你要进程继续运
<br>行,使用'continue'或'c'命令就行了。
<br>`detach'
<br> 当你结束调试后可以使用此命令来断开进程和gdb的连接。(解除gdb
<br>对它的控制)在这个命令执行后进程将继续执行。
<br> 如果你在用'attach'连接一个进程后退出了gdb,或使用'run'命令执
<br>行了另一个进程,这个被'attach'的进程将被kill掉。但缺省时,gdb会
<br>要求你确认你是否要退出或执行一个新的进程。
<p>--
<br>※ 来源: 中国科大BBS站 [bbs.ustc.edu.cn]
<br>
<br>
<br>
<p>--
<br>☆ 来源:.侠剑情缘 tjb.ml.org.[FROM: <a href="mailto:root@tjb.ml.org]">root@tjb.ml.org]</a>
<p>--
<br>※ 来源:·BBS 水木调试站 Leeward.lib.tsinghua.edu.cn·[FROM: 202.200.37.100]
<center>
<h1>
BBS水木清华站∶精华区</h1></center>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -