[intellij-idea] Intellij 디버거 느림 : 메서드 중단 점이 디버깅 속도를 크게 저하시킬 수 있습니다.

intellij 디버거를 시작하면 스크린 샷에서 볼 수있는 힌트가 나타납니다. 디버거를 시작하는 데 많은 시간이 걸립니다. 이 문제를 해결하는 방법?여기에 이미지 설명 입력



답변

메서드 중단 점을 끕니다. Run |을 통해 모든 중단 점을 볼 수 있습니다. 중단 점보기 (Ctrl-Shift -F8)


답변

IDEA 2017.1에서 에뮬레이트 된 메서드 중단 점이 도입되었습니다. https://www.jetbrains.com/help/idea/using-breakpoints.html#method_breakpoint
성능 저하없이 메서드 중단 점을 사용할 수 있습니다. 기본적으로 활성화됩니다.


답변

JetBrains 팀 : “Method 중단 점은 JVM 설계로 인해 디버거 속도를 상당히 느리게하므로 평가하는 데 비용이 많이 듭니다. 메서드 중단 점을 제거하고 일반 줄 중단 점 사용을 고려하십시오.” 참조 .

짧게 말하면 근본적인 문제는 JPDAMethod Entry & Method Exit 기능 을 사용하여 Method Breakpoints를 구현하는 것 입니다. 이 구현은 이벤트마다 발생하는 JVM을 필요로 어떤 스레드가 입력하는 모든 방법을 때 어떤 스레드가 종료 어떤 방법을.


답변

여기에 이미지 설명 입력

디버그 패널에서 메서드 중단 점을 끕니다. 다음은 스크린 샷입니다.


답변

코드에서 빨간색 다이아몬드 아이콘 (빨간색 원이 아님)을 찾으세요.이 아이콘은 메서드 중단 점을 나타냅니다. 대부분은 Kotlin의 get () / set () 메서드에서 설정했을 것입니다.


답변

내가 따르는 실용적인 조언 : 1. 앱이 실행되는 동안 모든 중단 점을 음소거합니다. 2. 해당 흐름을 디버깅하는 동안에 만 중단 점을 활성화합니다.

물론 앱 시작 중에 발생하는 무언가를 디버그하려는 경우에는 도움이되지 않습니다.


답변