libpretrace is a preload library that allows specified (dynamically linked) applications to always be executed under a debugging environment. To start using pretrace, add libpretrace.so to your /etc/ld.so.preload.
#make
#make install 會被安裝到/usr/local/ (debian 的關係嗎?)
所以本來一開始要
# echo /lib/libpretrace.so >> /etc/ld.so.preload
改成
#echo /usr/local/lib/libpretrace.so >> /etc/ld.so.preload
再來是把pretrace.conf.example copy 到
/etc/pretrace.conf
執行
#ptgenmap
吃進去conf產生機器可以閱讀的map檔
--
這邊還要問候他X的老師ㄧ下 (翻桌)
make install 的時候並沒有把libpretrace.so copy 到/lib
只有拷貝到/usr/local/lib
所以要手動自己來
#cp libpretrace.so /lib
不然執行ptgenmap會看到
ptgenmap: error while loading shared libraries: libpretrace.so: cannot open shared object file: No such file or directory
--
pretrace.conf 範例裡有拿ls 當範本
會把ls 呼叫用strace debug 並且把log檔案放到
/home/使用者/ls.logfile
注意這個目錄是可以放喔。
有多大差異 ~"~,在研究看看。
用途:
1.可以在開機的流程(尚未login)當中把strace紀錄就log起來,增加debug彈性。
沒有留言:
張貼留言