Arch-Linux

有沒有辦法記錄程序特定的行為?

  • November 4, 2020

編輯:由於最初的問題太籠統,我將只關註一個程序。

我正在執行命令libinput-gestures-setup start,它與它捆綁在一起libinput-gestures,它似乎可以工作,但ps沒有顯示程序啟動的記錄,並libinput-gestures-setup status說該程序尚未啟動。journalctl不記錄任何內容。我想查看執行命令時發生的一切,以便調試它並使其執行。

我在核心 5.9.2、systemd 246.6、util-linux 2.35.2、xorg-server 1.20.9、herbstluftwm 0.8.3 上執行 Arch Linux

我做出回答是因為我沒有足夠的聲譽來發表評論。無論如何,正如@thanasisp 所說的那樣,strace命令行。但是還有一個有趣的框架來跟踪軟體。它是lttng和它的 gui babeltrace。您可以跟踪核心、c 二進製文件、python 和 java 軟體。這一個快速入門教程。

我想查看執行命令時發生的一切,以便調試它並使其執行。

libinput-gestures-setup是一個簡單的 Bash 腳本。你可以看看它,看看它在做什麼。要“調試”它,您可以set -x在它的開頭添加選項,它會在調試模式下執行整個腳本——即,每個命令的跟踪以及它的參數都會列印到標準輸出。或者,您可以像這樣執行它,而不是編輯它來添加選項:

bash -x libinput-gestures-setup start

引用自:https://unix.stackexchange.com/questions/617839