任何人都可以指出我如何理解/解釋由dtruss(mac)或dtrace輸出的報告嗎?瞭解dtruss的輸出
我只是試圖在一個簡單的程序上進行研究。例如,我得到以下輸出:
PID/THRD SYSCALL(args) = return
250/0x103c: getattrlist("/Volumes/CORE/CORE.app\0", 0x7FFF5E8045D8, 0x7FFF5E804250) = 0 0
250/0x103c: geteuid(0x7FFF5E8045E0, 0x0, 0x7FFF5E804A18) = 501 0
250/0x103c: geteuid(0x7FFF5E805DF0, 0x0, 0x7FFF5E805E80) = 501 0
250/0x103c: geteuid(0x7FFF5E805540, 0x0, 0x7FFF5E805770) = 501 0
250/0x103c: getattrlist("/.vol/16777224/21\0", 0x7FFF5E8046D0, 0x7FFF5E803CF0) = 0 0
250/0x103c: geteuid(0x7FFF5E805950, 0x0, 0x7FFF5E8059C8) = 501 0
250/0x103c: __mac_syscall(0x7FFF8D22057C, 0x50, 0x7FFF5E805990) = 0 0
250/0x103c: geteuid(0x7FFF5E805950, 0x0, 0x7FFF5E8059C8) = 501 0
250/0x103c: __mac_syscall(0x7FFF8D22057C, 0x51, 0x7FFF5E8059A8) = -1 Err#30
250/0x103c: geteuid(0x7FFF5E8057D0, 0x0, 0x7FFF5E805848) = 501 0
250/0x103c: getattrlist("/.vol/16777224/21\0", 0x7FFF5E804960, 0x7FFF5E803F80) = 0 0
250/0x103c: open("/.vol/16777224/21\0", 0x0, 0x1FF) = 6 0
250/0x103c: geteuid(0x7FFF5E805790, 0x0, 0x7FFF5E805920) = 501 0
我可以看到所有這些系統調用採用十六進制參數。但我怎麼解碼這些?例如,如何找出它實際上試圖打開的文件?
輸出是不機器碼狀,它是一個的執行每個系統命令的列表。查看一下linux系統命令列表(或搜索Unix/BSD/MacOS /等):http://linux.about.com/od/commands/l/blcmdl_2a.htm – newfurniturey