用GNU软件编程

命令apropos用作手册页的联机索引。(man、info)

前台与后台:&使进程在后台运行;jobs列出后台执行的程序;fg %[no.]使进程进入前台运行;ctrl-z使程序挂起;bg使其后台运行。

晚些时候运行作业:at命令,cron命令(查看crontab手册页)。

which ,where, what。
locate,find

或者我需要学一种脚本语言,perl或者Python?

环境变量:printenv命令打印环境变量;
          export valuename=value
          export valuename=$valuename:newvalue
其中设置TERM变量本身没有什么作用,需要在shell的配置文件,如Bash的.bash_profile文件的setenv后面跟上一个tset命令,强制shell读取TERM配置文件(/etc/termcap)的内容。

除了环境变量,还有shell变量。它不被子shell继承。

定义自己的命令缩写:alias newname='command'其中单引号可以替换为双引号。

常用基本工具:grep, more(less/pg),sort,diff,cmp,spell(列出文件中拼写错误的单词,其词典在unix内部),strip(从可执行文件或目标文件删除符号信息,使变短)。

gcc编译选项,-S生成汇编程序;-c生成目标文件(.o);-D定义宏,相当于#define;-U等价于#undef;-I指定目录。-l指定库文件,最好放在命令最后,如-lname会在系统的存储标准库程序的目录(通常/usr/lib)搜索libname.a。-L指定库程序的目录。

cpp预处理程序选项:-M读源文件,断定这些源文件应包含什么文件,输出make使用的相关性列表。-C选项不删除程序中的注解,与-E一起使用。



GDB的高级用法:
gdb program [core-dump] 其中core文件是核心转储文件,可以知道程序在何处发生故障和发生故障的原因。

gdb的启动选项:
-d dir 在dir中查找源文件
-x file 在接受任何命令之前,gdb读取和执行file中的命令。(可以在file里设置每次都要做的事情,如断点等)
-q 不要显示序言和版权

启动gdb后使用run(r)执行程序 可以带参数。如果不使用带参数的run,gdb就再次重复前一条run命令的参数。使用set args改变参数,show args参看参数。

backtrace命令为堆栈提供向后跟踪的功能,在程序运行出错时可以使用。

whatis命令可以显示变量的类型,ptype更强大,显示变量的结构体内容。

值的历史标识符:$no.可以代表print(p)命令显示的第no.个值。

参看变量h后10个整数:p h@10

设置断点:b line-number/function-name/line-or-function if condition/routine-name。
从断点处继续 continue(c)。c5代表不要管下面5个断点,在第六个断点处才停止。
info breakpoints 列出所有断点。
delete/clear可以删除(所有)断点。其中delete后面跟断点号,clear更灵活。

where命令可以显示当前函数、位置。

info address name 可以找到数据的存储地址(没用过?),这样可以知道是否以及将变量赋予一个寄存器。

函数调用:call、finish、return(没用过)

命令的自行执行(挺好):
gdb允许将命令列表连接到断点和监测点上。内部而言,可以自动输出;外部而言,可以利用命令列表去纠正有错误的数据并继续调试(?)。
语法:
(gdb)commands number
...list-of-commands
...list-of-commands
end
该命令列表适用于number提供的断点,如果没有number,则使用在最近的断点上。
有时会将以下命令放在命令列表里:silent、continue等。
还有display是自动显示的功能:当程序停止时会自动显示display要求的显示内容。(没用过?)undisplay删除。

调用栈的上移和下移:up、down命令,配合where使用。从而可以改变变量的作用域。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值