我正在編譯第三方核心模組。他們的建置系統進入/usr/src/linux-headers-[version]
(自訂核心 chroot)並make
從那裡運行。
我想找出哪些文件(原始檔和頭檔)已用於編譯,哪些沒有。標準為每個編譯來源scripts/Makefile.build
創建*.d
文件,我想使用它......但這些文件是已刪除經過短暫處理後。 (這是rule_cc_o_c
中的定義Makefile.build
。)
有什麼方法可以在對標準建置系統進行最小修改的情況下收集這些文件?
答案1
嘗試使用libtrashcan。編譯並安裝後,將庫預先載入到您的進程中。
例如,以下將建立一個測試文件,然後嘗試刪除它,但由於 libtrashcanunlink
系統呼叫將被移動替換,因此該文件最終將位於~/Trash
:
export LD_PRELOAD=/usr/local/lib/libtrash.so.3.3
touch testfile
rm testfile