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秒一更新。