Intellij Debugger slow: punkty przerwania metod mogą znacznie spowolnić debugowanie


87

Kiedy uruchamiam debugger intellij, pojawia się podpowiedź, którą można zobaczyć na zrzucie ekranu. uruchomienie debuggera zajmuje dużo czasu. Jak rozwiązać ten problem?wprowadź opis obrazu tutaj

Odpowiedzi:


186

Wyłącz punkty przerwania metody. Możesz zobaczyć wszystkie swoje punkty przerwania, klikając Uruchom | Wyświetl punkty przerwania (Ctrl - Shift -F8)


25
Ale na pewno usunięcie punktów przerwania jest sprzeczne z celem debugowania? Albo czegoś mi brakuje.
arush436

16
@ arush436 Liczba sytuacji, w których potrzebny jest „punkt przerwania metody” (! = zwykły punkt przerwania), jest bardzo ograniczona.
Robin

28
Jaka jest zatem różnica między punktem przerwania metody a zwykłym punktem przerwania?
jrahhali


4
Oto zaktualizowany link do różnych typów punktów przerwania .
Cameron,


7

Od zespołu JetBrains: "Punkty przerwania metod bardzo spowalniają debugger z powodu projektu JVM, są drogie w ocenie. Usuń punkty przerwania metod i rozważ użycie zwykłych punktów przerwania linii.". Zobacz więcej .

Aby długie opowiadanie, wydaje się, że problemem jest to, że korzeń Metoda Wartości graniczne są realizowane za pomocą JPDA „s metody wprowadzania & Metoda Zakończ funkcję. Ta implementacja wymaga, aby maszyna JVM wyzwalała zdarzenie za każdym razem, gdy dowolny wątek przechodzi do dowolnej metody i gdy dowolny wątek kończy działanie dowolnej metody.


7

wprowadź opis obrazu tutaj

Wyłącz punkt przerwania metody z panelu debugowania. Oto zrzut ekranu.


5

Poszukaj ikon z czerwonymi rombami (nie czerwonych okręgów) w kodzie, które reprezentują punkty przerwania metody. Najprawdopodobniej ustawiłeś je w metodach get () / set () w Kotlinie.


0

Praktyczna rada, której się trzymam: 1. wycisz wszystkie punkty przerwania, gdy aplikacja się zbliża 2. włączaj punkty przerwania tylko podczas debugowania tego przepływu.

Oczywiście nie pomoże, jeśli próbujesz debugować coś, co dzieje się podczas uruchamiania aplikacji.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.