자바 디버거 활용방법

이미지

안녕하세요. 첨부한 사진은 이클립스 디버깅 기능 사용 시 볼 수 있는 변수 값들입니다.

사진에 나와있는 Variables탭 내용처럼 변수 값들을 추출해오고 싶은데, JDB 소스코드나 api등을 이용하면 될 것 같다는 막연한 생각만 있지 방법을 알 수가 없습니다..

어떤 방법을 이용하는 것이 효율적인 방법일지 조언해주시면 감사하겠습니다!

1답변

  • BCI(ByteCode Instrument)를 이용하는 편이 가장 편리합니다.

    즉 jvm에 클래스가 로딩되기전 가로채어 바이트코드를 수정할 수 있습니다.

    클래스를 가로채 probe 하고 싶은 변수들을 출력하도록 바이트코드를 삽입하면 됩니다.

    자바에서 BCI 기능은 agent를 통해서 가능하며 jvm 옵션중에 javaagent 를 사용합니다.

    대표적인 바이트코드 수정 라이브러리는 ASM, Javassist 등 여러가지가 있습니다.

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.