문제

실제로 논의한 책이나 기타 참고 자료를 찾고 있습니다. 어떻게 Java로 코드 적용 도구를 작성합니다.다양한 기술이나 트릭 중 일부 - 소스 대바이트 코드 계측.

이는 내부적으로 Java 바이트 코드를 생성하는 스크립팅 언어용입니다.

올바른 솔루션이 없습니다

다른 팁

스크립팅 언어가 바이트코드를 생성합니까?디버그 메타데이터를 생성합니까?그렇다면 바이트코드 계측이 아마도 좋은 방법일 것입니다.실제로 기존 도구는 아마도 작동할 것입니다(아마도 최소한의 수정만으로).

Java와 함께 작동하도록 작성된 도구의 일반적인 문제는 다음과 같습니다. class com.foo.Bar.class 파일에 해당 com/foo/Bar.java.그 가정을 푸는 것은 지루할 수 있습니다.

엠마 Java에서 코드 범위 수집을 위해 바이트 코드 다시 쓰기를 수행하는 ClassLoader입니다.코딩 스타일은 약간 펑키하지만 몇 가지 아이디어를 얻으려면 소스 코드를 읽어 보는 것이 좋습니다.

스크립팅 언어가 해석되는 경우 인터프리터에 연결되는 더 높은 수준의 클래스 로더(소스 수준에서)가 필요합니다.

오픈 소스 코드 적용 도구에서 소스를 가져와서 배울 수도 있습니다.

고마워요, 맥! http://asm.objectweb.org/ 또 다른 것입니다. 훌륭한 바이트 코드 계측에 대한 문서는 있지만 적용 도구 작성을 "직접적으로" 목표로 하는 것은 아닙니다. 단지 몇 가지 힌트나 아이디어만 있을 뿐입니다.

BCEL과 같은 것을 사용하여 바이트 코드에 실제로 존재하는 소스 줄을 분석할 수도 있습니다.빈 줄이나 주석 같은 것이 다루어지지 않았다고 보고하고 싶지는 않을 것입니다.

ColdFusion(당신이 태그에 속해 있다고 가정)에 대해 이야기하고 있다면 이것이 가능한지 확신할 수 없지만 여기서는 매우 틀렸을 수도 있습니다...

IIRC, CF가 컴파일될 때 기본적으로 CFML의 해석된 형식으로 일반 Java 소스 파일로 컴파일된 다음 클래스로 컴파일됩니다.따라서 귀하가 보유하고 있는 모든 계측은 CFML 자체가 아닌 중간 버전에 적용됩니다.

하지만 Adobe는 이제 코드를 단계별로 실행할 수 있는 CF 디버거를 보유하고 있으므로 제가 틀렸다는 것을 증명해 주십시오. 저는 CFML의 코드 적용 범위를 좋아합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top