Java와 Groovy 코드가 혼합 된 코드베이스가 있습니다. 한 번에 (즉 println string
입니다) strings.each()
에서 실행되는 코드를 하나 개의 행을 밟아 IntelliJ IDEA를 사용하여 Groovy의 반복 (디버깅) 디버깅
String[] strings = ["First", "Second", "Third"]
strings.each { string ->
println string
}
내가하게 IntelliJ IDEA이 디버깅
(11 절.) : 그루비 코드의 반복을 위해, 우리는 클로저를 사용하는 경향이 밟은 것입니다.println
행에 중단 점을 넣을 수 있으며 디버깅 할 수는 있지만 피해야하는 간단한 해결 방법입니다.
Groovy 클로저를 넘지 않도록 intelliJ를 구성하는 방법이 있습니까?파일 -> 설정 -> 디버거 -> Groovy에는 해당 옵션이 없습니다.
편집 :이 같은 자바 스타일의 반복
내가 가진 말 :
내가 IntelliJ에 뭘 기대하는 것을 명확히하기 위해
for (String string : strings) {
println string
}
내가 "이상 단계"사용하는 경우, 디버거는 문제없이 반복합니다. 계속 진행할 수 있고 반복 할 객체가 없을 때까지 계속 반복됩니다. 이것은 내가 위와 같은 종결을 기대할 것입니다.
수동으로 중단 점을 설정해야하는 하나 또는 두 개의 클로저가있는 경우 문제가되지 않을 수 있습니다. 그러나 많은 사람들이 있다면, 그들에게 "자동적으로"들어가는 것이 정말로 깔끔한 것입니다.
'들어가기'를하고 있습니까? (F7 단축키) –
@Nebelmann '내가 들어가면'나는 반복을 설정하는 Groovy 클래스의 전체 스택을 단계별로 따라 가야한다. 나는 결국 루프 내부에서 끝나지 만 여전히 거기에 도착하는 데에는 많은 어려움이 있습니다. – Magnilex
나는 할 수있는 일이 없기를 두려워한다. 나는 이해한다. '각자'는 종결 자이다. 그래서 당신이 넘어서게되면 그것은 모든 기능을 건너 뛸 것이고, 들어가면 당신은 많은 것을 다뤄야 할 것이다 'Java'처럼 Spring bean 메소드 호출을하고 Proxies로 끝내고 싶을 때처럼 ... 노이즈 클로저에있는 첫 번째 줄에 중단 점을 설정하는 것이 내가 알고있는 유일한 해결책이다. ** 편집 ** : IntelliJ의'Debugger> Stepping' 옵션을 발견했습니다. Groovy의 내부 구조로 인해 어려움을 겪지 않게 할 수 있습니다. 시도해 볼 가치가 있습니다. –