作者meconin (miss you ~)
看板java
標題[問題] Memory Dump / Get Class Binary in Runtime
時間Thu Nov 3 16:43:42 2011
各位高手、先進們,
在 Java 中是否有可能取得已經被 loader 載入的 class 的 binary ?
如果換掉 system loader 當然是可以在 override findClass 時,把 binary 拿到
但現在不能這樣做,是否還有其他方法?
我也試過 serialize,但是只要 package 跟 class name 一樣,結果就會一樣
不管把那個 class 搞得多複雜都是一樣的一些 byte[]
我也是過去抓檔案的方式,在 stackTrace 上,找到原始檔案(.class, .jar ... etc)
可是被 load 進去之後,這個檔案 (.class, .jar ... etc) 就可以被刪掉
所以也不能保證取得正確的 binary ...
難道真的要用 native 去爬 Thread 跟 Process 的 context 才有可能?!!!
感激不盡
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.46
→ sbrhsieh:Instrumentation, java.lang.instrument package 11/03 21:16
→ meconin:感謝,very useful 11/03 22:56
→ luoqr:java assist 11/05 11:57