as使用的是AT&T语法。
linux下执行as命令时加上参数x可以使生成的目标程序包含符号表,能够进行调试。
Linux是一个用C语言开发的操作系统,这使得很多程序员开始忘记在Linux中还可以直接使用汇编这一底层语言来优化程序的性能。
2. (Linux)很多程序在运行时需要指定运行时参数,那么如何在gdb中设置和察看运行时参数
运行gdb
拍入help,可得到帮助的类别.
如何设置和察看运行时参数,拍入
help data 得到帮助的命令表,其中有你关心的"set variable" 等
-----------------------------------------------
call -- Call a function in the program
delete display -- Cancel some expressions to be displayed when program stops
disable display -- Disable some expressions to be displayed when program stops
disassemble -- Disassemble a specified section of memory
display -- Print value of expression EXP each time the program stops
enable display -- Enable some expressions to be displayed when program stops
inspect -- Same as "print" command
output -- Like "print" but don't put in value history and don't print newline
print -- Print value of expression EXP
printf -- Printf "printf format string"
ptype -- Print definition of type TYPE
set -- Evaluate expression EXP and assign result to variable VAR
set variable -- Evaluate expression EXP and assign result to variable VAR
undisplay -- Cancel some expressions to be displayed when program stops
whatis -- Print data type of expression EXP
x -- Examine memory: x/FMT ADDRESS
------------------------------------------------
用
help set variable
阅读详细的如何设置参数和结果存放
3. Linux查看进程运行的完整路径及参数的方法
Linux在启动一个进程时,系统会在/proc下创建一个以PID命名的文件夹,在该文件夹下会有我们的进程的信息.
这些信息,有的是软链接,有的是文本,有的是目录.
查看这些信息需要对应的权限.
其中部分常用信息如下.
cwd 符号链接, 是进程运行目录. sudo ls -al /proc/PID/cwd
exe 符号连接, 是执行程序的绝对路径. sudo ls -al /proc/PID/exe
cmdline 文本, 是程序运行时输入的命令行命令. sudo cat /proc/PID/cmdline
environ 文本, 记录了进程运行时的环境变量. sudo cat /proc/PID/environ
fd 目录, 里面是进程打开或使用的文件的符号连接. sudo ls -al /proc/PID/fd
4. linux中设计一个shell脚本程序可以接受命令行输入的参数执行相应的菜单命令
echo "------------------------"
echo "1、命令1"
echo "2、命令2"
echo "3、命令3"
echo "------------------------"
echo "请输入要执行的菜单命令(1/2/3):"
read com
case $com in
1)
命令1
;;
2)
命令2
;;
3)
命令3
;;
*)
echo "输入命令错误"
;;
5. linux中可执行程序后面加-i,-o是什么意思
-i -o为命令开关,也叫运行参数。
一般是用来控制程序的执行的。
从你这个写法上看, -i应该是设置输入文件。 -o是设置输出文件。
大多数程序都可以用-h或者--help参数来查看各个参数的具体含义。
6. Linux执行top命令后看到的参数都是什么意思
PID 每个进程的ID。
PPID 每个进程的父进程ID。
UID 每个进程所有者的UID 。
USER 每个进程所有者的用户名。
PRI 每个进程的优先级别。
NI 该进程的优先级值。
SIZE 该进程的代码大小加上数据大小再加上堆栈空间大小的总数。单位是KB。
TSIZE 该进程的代码大小。对于内核进程这是一个很奇怪的值。
DSIZE 数据和堆栈的大小。
TRS 文本驻留大小。
D 被标记为“不干净”的页项目。
LIB 使用的库页的大小。对于ELF进程没有作用。
RSS 该进程占用的物理内存的总数量,单位是KB。
SHARE 该进程使用共享内存的数量。
STAT 该进程的状态。其中S代表休眠状态;D代表不可中断的休眠状态;R代表运行状态;Z代表僵死状态;T代表停止或跟踪状态。
TIME 该进程自启动以来所占用的总CPU时间。如果进入的是累计模式,那么该时间还包括这个进程子进程所占用的时间。且标题会变成CTIME。
%CPU 该进程自最近一次刷新以来所占用的CPU时间和总时间的百分比。
%MEM 该进程占用的物理内存占总内存的百分比。
COMMAND 该进程的命令名称,如果一行显示不下,则会进行截取。内存中的进程会有一个完整的命令行。
7. linux什么命令查看程序运行状态
查看系统所有正在运行的进程,可以用ps aux命令(它的-a参数表示,不与终端有关的进程也显示出来)。还有一个和ps命令相似的命令是pstree,pstree命令用于列出正在运行的进程的进程树,所谓进程树就是显示有关系的进程的相关性,也就是显示父子进程之间的关系。pstree命令的常见用法是:pstree -Aup
-A参数表示:显示出来的进程树连接,用ASCII字符来显示
-u参数表示:列出进程的所属用户
-p参数表示:列出每个进程的PID
ps命令和pstree命令是选取一个时间点的进程状态,还有一个top命令可以持续检测进程运行状态,它显示的是动态的信息,有点像Windows的任务管理器(不过top命令是命令行),使用方法:
top -d 数字
-d参数后面接一个数字表示几秒更新一次显示,一般可以设置成2,表示2秒一更新。