同一個process里面,要用到兩個 .so文件,稱為A.so, B.so。
如果A.so 和 B.so各自在Make的時候都要去Link同一個.a文件,稱為C.a.
我的代碼造成重新生成C.a,而且我的code的處理路徑只和A.so及C.a有關,所以我在重新生成C.a后,只重新Make生成了A.so,而且根據symbol table來看,A.so 和C.a的確Link在一起了。
問題出現了,當我重啟process的時候,發現修改后的C.a根本不會作用于A.so, 每當debug到A調用C.a里面的函數時,程序完全還是執著地執行修改前的代碼。
無奈,把整個Load重新編譯了一下,替換了系統所用到的所有.so,并重啟進程,代碼起作用了。。。。
誰有解?