Linux教程Linux
首页
基础知识
Linux业界
Linux系统
Linux人物
Linux文化
Linux资讯
Linux综合
当前位置:
Linux教程
-
Linux
- GDB调试器使用手册(六-2)
GDB调试器使用手册(六-2)
程序环境
==========================
“环境”包括了一系列的环境变量和它们的值。环境变量一般记录了一些常用的信息,
比如你的用户名,主目录,你的终端型号和你的运行程序的搜索路径。一般你可以在shell
下设置环境变量,然后这些变量被所有你所运行的程序所共享。在调试中,可以设置恰当
的环境变量而不用退出gdb.
`path DIRECTORY\"
在\"PATH\"环境变量前加入新的内容(\"PATH\"提供了搜索执行文件的路径)。对于gdb和
你的程序来说你也许要设置一些专门的路径。使用\":\"或空格来分隔。如果DIRECTORY已经
在路径中了,这个操作将会把它移到前面。
你可以使用串\"$cmd\"来代表当前路径,如果你用\".\"的话,它代表你使用\"path\"命令
时的路径,gdb将在把DIRECTORY加入搜索路径前用\".\"代替当前路径
`show paths\"
显示当前路径变量的设置情况。
`show environment [VARNAME]\"
显示某个环境变量的值。如果你不指明变量名,则gdb会显示所有的变量名和它们的
内容。environment可以被缩写成\"env\"
`set environment VARNAME [=] VALUE\"
设置某个环境变量的值。不过只对你所调试的程序有效。对gdb本身是不起作用的。
值可以是任何串。如果未指定值,则该变量值将被设为NULL.
看一个例子:
set env USER = foo
告诉一个linux程序,当它下一次运行是用户名将是\"foo\"
`unset environment VARNAME\"
删除某环境变量。
注意:gdb使用\"shell\"环境变量所指定的shell来运行你的程序。
工作路径
================================
当你每次用\"run\"命令来运行你的程序时,你的程序将继承gdb的
当前工作目录。而gdb的工作目录是从它的父进程继承而来的(一般是
shell)。但你可以自己使用\"cd\"命令指定工作目录。
gdb的工作目录就是它去寻找某些文件或信息的途径。
`cd DIRECTORY\"
把gdb的工作目录设为DIRECTORY
`pwd\"
打印输出当前目录。
你程序的输入/输出
===============================
缺省时,你的程序的输入/输出和gdb的输入/输出使用同一个终端。
gdb在它自己和你的程序之间切换来和你交互,但这会引起混乱。
`info terminal\"
显示你当前所使用的终端的类型信息。
你可以把你程序的输入/输出重定向。
例如:
run > outfile
运行你的程序并把你程序的标准输出写入文件outfile中。
另一个为你程序指定输入/输出的方法是使用\"tty\"命令,这个命令
接受一个文件名作为参量把这个文件作为以后使用\"run\"命令的缺省命
令文件。它还重新为子进程设置控制终端。
例如:
tty /dev/ttyb
指定以后用\"run\"命令启动的进程使用终端\"/dev/ttyb\"作为程序的输入
/输出,而且把这个终端设为你进程的控制终端。
一个清楚的使用\"run\"命令的重定向将重新设置\"tty\"所设置的内容
,但不影响控制终端。 当你使用\"tty\"命令或在\"run\"命令中对输入
/输出进行重定向时,只有你当前调试的程序的输入/输出被改变了,
并不会影响到别的程序。
调试一个已经运行的程序:
====================================
`attach PROCESS-ID\"
这个命令把一个已经运行的进程(在gdb外启动)连接入gdb,以便
调试。PROCESS-ID是进程号。(UNIX中使用\"ps\"或\"jobs -l\"来查看进程)
\"attach\"一般不重复。(当你打了一个以上的回车时)
当然要使用\"attach\"命令的话,你的操作系统环境必须支持进程。
另外你还要有向此进程发信号的权力。
当使用\"attach\"命令时,你应该先使用\"file\"命令来指定进程所
联系的程序源代码和符号表。 当gdb接到\"attach\"命令后第一件
事就是停止进程的运行,你可以使用所有gdb的命令来调试一个“连接”
的进程,就象你用\"run\"命令在gdb中启动它一样。如果你要进程继续运
行,使用\"continue\"或\"c\"命令就行了。
`detach\"
当你结束调试后可以使用此命令来断开进程和gdb的连接。(解除gdb
对它的控制)在这个命令执行后进程将继续执行。
如果你在用\"attach\"连接一个进程后退出了gdb,或使用\"run\"命令执
行了另一个进程,这个被\"attach\"的进程将被kill掉。但缺省时,gdb会
要求你确认你是否要退出或执行一个新的进程。
发布人:netbull 来自:中国LINUX开发联盟
破解者们是怎么样拿到密码的
Linux之菜鸟日记(二)
磁带驱动器的使用
下一代电信网如何演进
玩转Linux下的Modem
Linux上的集群及其配置实例
UNIX下几种常见系统故障和解决办法
全面保护你的Java程序安全(上)
选择邮件服务器十二要素
Chrooting后台服务和系统程序指导
Linux的桌面时代来了吗?
把Linux用作家里的Internet网关和服务器
在RH7.2中装上VIA的AC97的板载声卡
Linux程式设计入门 - termios/keymap/terminal progr
如何恢复数据库的内容
站点导航
Linux教程
Php
Linux
非技术类
指令大全
Shell
安装启动
Xwindow
Kde
Gnome
输入法类
美化汉化
网络配置
存储备份
杂项工具
编程技术
网络安全
内核技术
速度优化
Apache
Email
Ftp服务
Cvs服务
代理服务
Samba
域名服务
网络过滤
其他服务
Nfs
Oracle
Dhcp
Mysql
Ldap
RedHat
赞助商链接