JetBrains JVM 디버거 메모리 뷰 플러그인
최근 R & D 활동 중에 새로운 도구를 찾고 개발 경험을 향상시키고 Android Studio를 사용하여 삶을 더 쉽게 만들 수있는 유용한 플러그인을 찾았습니다. 그렇기 때문에이 강력한 도구를 작성하기로 결정했으며 그것이 메모리로 응용 프로그램을 디버깅하는 데 어떻게 도움이되는지 결정했습니다.
플러그인은 무엇입니까?
플러그인 페이지에 따르면 :
이 플러그인은 디버그 세션 중에 JVM 힙의 객체를 관찰 할 수있는 기능으로 내장 JVM 디버거를 확장합니다.
메모리보기는 클래스 이름별로 그룹화되어 힙의 총 객체 수를 표시합니다.
코드를 단계별로 디버그하면 "diff"열에는 디버거 스톱 사이의 객체 수의 변경 사항이 표시됩니다 (디버거 중지, 즉 디버그 포인트). 이렇게하면 스테핑 코드가 힙에 어떤 영향을 미치는지 쉽게 알 수 있습니다.
클래스 이름을 두 번 클릭하여 클래스 인스턴스가 포함 된 대화 상자를 열십시오. 이 대화 상자를 사용하면 계산 된 표현식으로 인스턴스를 필터링 할 수 있습니다. 모든 디버거 작업 (예 : 확인, 개체 표시, 표현식 평가, 관측치 추가 등) 이이 대화 상자의 인스턴스에 적용될 수 있습니다.
이 멋진 플러그인을 설치하는 방법은 무엇입니까?
Android Studioplugins 페이지를 엽니 다 :
JetBrains 플러그인 설치… 버튼, JVM 디버거 메모리보기를 검색하고 설치하십시오.
설치 후 Android Studio를 다시 시작하십시오.
언뜻보기에 :
Android Studio로 돌아온 후 메모리 뷰 도구 창이 도구 모음의 오른쪽에 추가되었음을 알 수 있습니다.
메모리보기 도구 창
메모리보기 도구 창
메모리보기가 표시되지 않으면 도구 창을 열고 기본 메뉴 (보기 → 도구 창) → 메모리보기를 사용하십시오.
먼저,이 도구는 디버그 브레이크 포인트가 설정되어 디버그 모드에서 실행될 때만 데이터를 표시합니다.
둘째, 나는 Android Studio에서 일어날 수있는 몇 가지 경고와 오류를 읽었지만 그것을 발견하지 못했다고 언급 할 것입니다.
경고 : Android Studio 버전에는 다음과 같은 제한이 포함되어 있습니다.
디버그합시다!
디버그 모드에서 응용 프로그램을 실행하고 브레이크 포인트에서 일시 중지 한 후에는 마법 사진이 표시됩니다.
우리에게 가장 관심이있는 것은 Diff 열입니다. 코드 라인을 단계별로 디버깅하면 새 개체 인스턴스가 얼마나 많이 생성되거나 파괴 될 것인지 알 수 있습니다!
내 자신의 객체 (예 : ProfileModel 클래스)를 찾고 싶습니다.
보시 다시피이 코드 라인에서 프로파일 모드 vairable을 업데이트했음을 알 수 있듯이 GC가 오래된 객체를 삭제하기 전에 차이는 +1이며 이전에는 불가능한 이전 객체에 액세스 할 수 있습니다. 이 레코드를 두 번 클릭하면 창에서 ProfileModel 클래스의 인스턴스가 나타납니다.
이 창을 사용하면 클래스 메소드를 사용하여 계산 된 표현식으로 인스턴스를 필터링 할 수 있습니다. 예를 들어, OkHTTP 응답 클래스의 issuccessful 메소드를 사용하여 메모리에 실패한 필터 응답을 사용할 수 있습니다.
인스턴스 필터 기능
또 다른 유용한 기능은 새로운 인스턴스를 추적하는 것입니다. 메모리 뷰 도구 창에서 마우스 오른쪽 버튼 클릭 메뉴를 통해 활성화 할 수 있습니다.
이 기능은 생성 된 클래스의 새로운 인스턴스에 대한 코드를 추적하는 데 도움이됩니다!
위는 편집기가 소개 한 Idea Memory Debugging 플러그인입니다. 모든 사람에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 모든 사람에게 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!