나는 최근에 자바 프로그램의 디버그 정보를 살펴보면 리플렉션보다 더 많은 정보를 얻을 수 있다고 들었다. 나는 정말로 기억 장소 등을 제외하고 무엇을 알지는 못한다는 것을 깨달았다. 그렇다면 리플렉션으로 얻을 수없는 디버깅 정보로 얻을 수있는 또 다른 것 (참고 : 실제 런타임 값을 얻기 위해 중단 점 사용에 대해 이야기하는 것이 아닙니다)? 디버거에서 가져올 수없는 리플렉션을 통해 얻을 수있는 정보가 있습니까?리플렉션으로 얻을 수없는 디버거 정보는 어떻게 얻을 수 있습니까?
3
A
답변
1
메신저 "디버거 정보 사용"은 실제로 "agent API 사용"을 의미한다고 가정합니다. 이는 디버거가 (무엇보다도) 사용하는 것입니다.
답변이 상당히 많습니다.
시작을위한 JVMTI는 force garbage collection 일 수 있습니다. 순수 자바 API는 없습니다. 특정 유형의 응용 프로그램에 대해서는 일반적인 지혜와 달리 때때로 "프로덕션"코드에도 유용 할 수 있습니다.
로드 할 때 클래스를 계측 할 수도 있습니다. 이는 다양한 프로파일 러 도구, 컴파일 된 코드 (암호화 된 클래스 파일)의 난독 화 및 소스 코드의 변경에 대한 응답으로로드 된 클래스를 즉시 변경하는 데 유용합니다.
관련 문제
- 1. AVD에 관한 정보는 어디에서 얻을 수 있습니까?
- 2. 사진의 제조사, 모델 세부 정보는 어떻게 얻을 수 있습니까?
- 3. . 리플렉션으로 개인 메서드를 얻을 수 없습니다.
- 4. 조명기가로드되지 않는 이유에 대한 자세한 정보는 어떻게 얻을 수 있습니까?
- 5. Facebook 페이지의 모든 팬들의 세부 정보는 어떻게 얻을 수 있습니까?
- 6. 어셈블리에 대한 자세한 정보는 어떻게 얻을 수 있습니까?
- 7. 아사나 작업에 대한 자세한 정보는 어떻게 얻을 수 있습니까?
- 8. 작업 대리인 호출의 이름/세부 정보는 어떻게 얻을 수 있습니까?
- 9. 컴퓨터 장치에 대한 정보는 어떻게 얻을 수 있습니까?
- 10. 메소드를 호출 한 사람에 대한 정보는 어떻게 얻을 수 있습니까?
- 11. 현재 로컬 작업 브랜치에만 관련된 정보는 어떻게 얻을 수 있습니까?
- 12. 게시가 실패하는 이유에 대한 자세한 정보는 어떻게 얻을 수 있습니까?
- 13. UniData/UniVerse 데이터베이스에 대한 스키마 정보는 어떻게 얻을 수 있습니까?
- 14. SAS에 대한 설치 정보는 어떻게 얻을 수 있습니까?
- 15. 맞춤 비교의 실패에 대한 자세한 정보는 어떻게 얻을 수 있습니까?
- 16. 일부 사용자가 링크를 클릭하게하여 얻을 수있는 최대 세부 정보는 무엇이며 어떻게 얻을 수 있습니까?
- 17. 어떻게 CurrentWindow를 얻을 수 있습니까?
- 18. 어떻게 MPN을 얻을 수 있습니까?
- 19. XPath로 어떻게 얻을 수 있습니까?
- 20. 대의원을 어떻게 얻을 수 있습니까?
- 21. 어떻게 얻을 수 있습니까? UI_USER_INTERFACE_IDIOM
- 22. 어떻게 출력을 얻을 수 있습니까?
- 23. 어떻게 pg_regress를 얻을 수 있습니까?
- 24. 어떻게 onChangeEvent_sooner_를 얻을 수 있습니까?
- 25. Homoiconicity에 대한 자세한 정보는 어디에서 얻을 수 있습니까?
- 26. 삼성 전자의 개발 정보는 어디서 얻을 수 있습니까?
- 27. AzureWebJobsDashboard 연결 문자열 정보는 어디에서 얻을 수 있습니까?
- 28. NexusS의 에뮬레이터 이미지 또는 바이너리 정보는 어디에서 얻을 수 있습니까?
- 29. 활성 IShellView에서 IShellFolder를 어떻게 얻을 수 있습니까?
- 30. 노드의 자식을 어떻게 얻을 수 있습니까?
에이전트는 말할 것도없이 Java가 아닌 C로 실행되므로 메모리 안전 제한이 없으므로 프로세스에 대해 원하는 그대로 변경할 수 있습니다. API를 통해 사용할 수있는 또 다른 사항은 다른 상위 수준 스택 프레임의 변수 및 스택 프레임 자체에 대한 메타 데이터에 대한 액세스입니다. 별도의 자바 프로세스에서 코드를 작성하고자한다면'jdwp' 에이전트를 통해 API를 사용할 수 있습니다 (이것이 대부분의 디버깅 툴이하는 일이라고 생각합니다). – Dan