Intelij에서 디버깅을 할 때 반환값을 알 수 있습니까?
포함:
Object method(){
...
return /* some complex expression */
}
디버깅 중에 반환되는 값을 확인할 수 있는 방법이 있습니까?반환 직후에 부딪힐 수 있는 중단점을 설정하는 것처럼요. 하지만 실행이 발호 코드로 가기 전에 말이죠.반환값과 모든 로컬 변수의 값을 알고 싶습니다.
가 하는 예요.Object ret = /* something complex */; return ret;
그러나 그것은 번거롭고 불필요한 코드 행도 추가된다.
주의: 이것은 Visual Studio에서 디버깅을 할 때 반환 값을 반환하기 전에 확인할 수 있습니까?와 같은 질문입니다만, 인텔리지는 마찬가지입니다.
IntelliJ IDEA 2016.3에서는 디버깅 패널의 톱니바퀴 버튼 안에 숨겨져 있습니다. 하다Show Method Return Values
체크되어 있습니다.
디버거를 사용하여 반환 값을 보려는 함수 내부의 어딘가를 구분합니다.
기능에서 발을 떼십시오(또는 탈출할 때까지 발을 딛습니다).
반환값이 변수에 표시되는 것을 확인합니다.
디버거 패널에는 Watch method return values 버튼이 있습니다.
Watch 메서드 반환 값:마지막으로 실행된 메서드의 반환 값을 보려면 이 버튼을 클릭합니다.
IDEA 12 구성:
몇 가지 방법이 있는 것 같습니다.첫 번째 방법은 메서드시그니처에 브레이크 포인트를 설정하는 것입니다.이 경우 오브젝트 method(){에 브레이크 포인트를 설정합니다.이것에 의해, 메서드의 입구와 출구를 감시할 수 있습니다.위와 같이 "Watch method return values"와 함께 사용해야 한다고 생각합니다만, 계산 시간이 너무 오래 걸려서 완전히 테스트하지 못했습니다.이렇게 하면 디버거의 성능이 크게 저하되고 디버깅에 시간이 오래 걸립니다.
또한 다음 작업을 수동으로 수행할 수도 있습니다.
- 리턴 라인에 브레이크 포인트를 설정합니다.
- 리턴 행이 히트하면 리턴 행을 클릭하여 표시할 조작에 커서를 두고 실행-> 식 평가(또는 Alt-F8)로 이동합니다.이 시점에서 식을 실행하고 반환되는 것을 반환합니다.
주의: 브레이크포인트를 작성하면 IDEA에서 브레이크포인트를 조작하도록 지시할 수 있습니다.예를 들어 브레이크포인트에서 브레이크포인트를 조작했을 경우 식을 실행하여 기록하도록 지시할 수 있습니다.중단점을 마우스 오른쪽 버튼으로 클릭하고 속성을 클릭하면 수행할 수 있는 작업을 둘러볼 수 있습니다.
업데이트: 첫 번째 방법과 함께 사용해 보십시오."Watch method return values"는 디버깅세션이 느려지거나 정지될 수 있으므로 사용하지 마십시오.대신 다음을 수행합니다.
- 표시할 반환 표현식을 마우스 오른쪽 버튼으로 클릭하고 "시계에 추가"를 클릭합니다.
- 다음으로 위와 같은 메서드 중단점을 추가합니다.
- 프로그램을 디버깅하면 메서드의 시그니처가 끊어집니다.
- 계속하려면 F9 키를 누릅니다. 반환 식이 계산되고 반환 식이 워치 열에 있어야 합니다.
메서드 브레이크 포인트는 느리기 때문에 시간이 더 걸릴 수 있습니다.퍼포먼스 히트 수가 너무 많은 경우 이를 개선하기 위한 까다로운 방법은 (메서드 브레이크 포인트가 없는) 리턴 스테이트먼트 브레이크 포인트를 설정하고 리턴 스테이트먼트 브레이크 포인트가 히트한 후에 메서드 브레이크 포인트를 추가한 후 계속하는 것입니다.
이게 도움이 됐으면 좋겠는데
조금 전에 물어본 내용이지만, 저는 이 상황에 대처하기 위해 다른 방법을 사용하고 있습니다.
디버깅 시 식(이 경우 "return" 바로 뒤의 식)을 표시하고 CTRL + ALT + F8(Quick Evaluate Expression)을 누를 수 있습니다.IntelliJ는 반환되는 값을 보여주는 작은 창이 나타납니다.
언급URL : https://stackoverflow.com/questions/5010362/can-i-find-out-the-return-value-before-returning-while-debugging-in-intellij
'itsource' 카테고리의 다른 글
Vuex 상태의 어레이 항목 복제(Socket.io 사용) (0) | 2022.08.31 |
---|---|
Vuetify v-data-table 고정 헤더가 작동하지 않음 (0) | 2022.08.31 |
vuex-module-decorator에서 재사용 가능한 getter 생성 (0) | 2022.08.31 |
vueJ2에 페이지 수가 있지만 렌더링하지 못한 요소-ui 테이블의 행에 대한 배경색 (0) | 2022.08.31 |
C에서의 변수 선언 배치 (0) | 2022.08.31 |