LD_PRELOAD 可以用來替換 dynamic library

如果有個 function build 的時候會根據 define 有不同行為

比如 PRODUCTION 會怎樣..., DEBUG 會怎樣...

然後想把 PRODUCTION function 替換成 DEBUG function

這時候就可以用 LD_PRELOAD

step1. 寫好 DEBUG function & build 成 so

如: debug_lib.so

step2. 在需要替換的地方加上 LD_PRELOAD

如: 原本 sys_cli -p host

替換 LD_PRELOAD=debug_lib.so sys_cli -p host

 

 

https://rafalcieslak.wordpress.com/2013/04/02/dynamic-linker-tricks-using-ld_preload-to-cheat-inject-features-and-investigate-programs/

arrow
arrow
    全站熱搜

    JohnDX 發表在 痞客邦 留言(0) 人氣()