Osx
libfaketime 和 Mac OS,LD_PRELOAD
執行 Mac OS 10.7.2 並嘗試執行libfaketime並沒有任何反應。我完全按照指示安裝和執行,只是時間和日期與系統中設置的完全一致?有其他人能夠在 OSX 上成功執行它嗎?
$ date Mon Jan 30 21:05:09 CST 2012 $ LD_PRELOAD=./libfaketime.so.1 FAKETIME="-15d" date Mon Jan 30 21:05:32 CST 2012
在 Mac OS 上使用 DYLD_INSERT_LIBRARIES 而不是 LD_PRELOAD。您可能還需要設置 DYLD_FORCE_FLAT_NAMESPACE。例如
DYLD_INSERT_LIBRARIES=./libfaketime.so.1 DYLD_FORCE_FLAT_NAMESPACE=y FAKETIME="-15d" date
如果你像這樣編譯庫:
gcc -shared -fPIC mylib.c -o mylib.so
您可以創建環境變數:
export DYLD_INSERT_LIBRARIES=./mylib.so export DYLD_FORCE_FLAT_NAMESPACE=y
然後使用新載入的庫執行:
./program
筆記:
使用 macOS High Sierra (v 10.13.1)