어떻게 런타임에 JVM에서 수행 한 인수와 함께 모든 메서드 호출을 기록 할 수 있으며 메서드 인수가 변경 될 가능성이 있으며 메서드가 호출되기 전에 JVM 코드 자체를 변경하지 않고 수행 할 수 있습니까?JVM 메서드 호출 받기
는 이미
- 계측의 코드 (http://github.com/dtrace4linux/linux)와 (http://docs.oracle.com/javase/7/docs/api/java/lang/instrument/Instrumentation.html)
- DTrace를,
를 통해 실행했다하지만 난 JVM이 nitty- 그것으로 구성하는 방법에 안돼서 껄끄 러운 세부 사항 및 주요 질문 -이 코드 (Dtrace 코드)로 시작하는 올바른 방법입니까? 어쩌면 나에게 읽을 기사를 줄 수 있니?
또한 ART 또는 dalvik에서 동일한 작업을 수행 할 수 있습니까? (JDWP의 도움을 받아 디버깅 가능한 애플리케이션 일뿐만 아니라).
그리고 한 가지 더 - JMVTI가 너무 느리며 호출 처리기에서 약 300μs가 걸립니다.
편집 :
링크, 내가 가지고 :
https://code.google.com/p/droidbox/
http://mostly-about-java.blogspot.ru/2012/12/methodcallspy-building-own-method_3.html?m=1
https://github.com/JakeWharton/hugo
여러 개의 서로 다른 질문을 한 것처럼 들리지만 모두 서로 다른 답변을 갖고 있기 때문에 불분명하게 표시됩니다. 그것이 실제로 사실 인 경우에, 당신은 각각을 개별적으로 요구할 필요가 있습니다. "이 코드로 시작하는 것이 올바른 방법일까요?" 어떤 코드? JVM은 무엇입니까? 첫 번째 질문에 대한 해결책은 무엇입니까? 두 번째 질문은? – nihilon
또한, 이것이 데스크탑 JVM 질문입니다. 솔루션이 Dalvik/Art에도 적용되는지 궁금해서 Android 태그를 추가 했습니까? – fadden
예, 궁금합니다. 나는 안드로이드 개발자이고, 나는 aosp 코드를 변경하고, 우리 자신의 시스템 애플 리케이션을 만들었지 만, 이제 나는 jvm을 사용하여 훨씬 더 큰 솔루션을 원한다. 물론, 안드로이드에 대한 작업. – KorixD