Eclipse의 내 logcat 창은 각 예외에 대해 StackTrace의 처음 몇 줄만 표시합니다. 이것은 예외가 발생한 곳을 자주 볼 수 없다는 것을 의미합니다. 이 설정을 변경할 수있는 방법이 있습니까?Eclipse Logcat 창이 예외 스택 추적을 자릅니다.
답변
"... 12 개의 줄 ..."부분을 참조하면 다른 예외의 원인 인 예외 만 볼 수 있습니다. 스택 트레이스의 윗부분이 이전 트레이스와 같으면 가장 바깥 쪽 예외에 대해서만 전체 프레임 세트가 표시되고 다른 트레이스에는 "..."처리가 적용됩니다.
표시되지 않은 추적의 청크는 예외 원인 체인에서 이전에 나타난 추적의 복제본입니다. 예를 들어 main()
이라는 메서드가 one()
이고 two()
을 호출하는 코드가 있다고 가정 해보십시오. four()
이 예외를 throw합니다. two()
은 그것을 잡아서 다시 던졌습니다. 예외는 다음과 같이 표시됩니다
java.lang.RuntimeException: re-throw
at Foo.two(Foo.java:14)
at Foo.one(Foo.java:7)
at Foo.main(Foo.java:3)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.RuntimeException: first
at Foo.four(Foo.java:23)
at Foo.three(Foo.java:19)
at Foo.two(Foo.java:12)
... 3 more
는 예외가 말한다 "에 의한" "... 3 개"보다는 명시 적으로 one()
, main()
및 dalvik.system.NativeStart.main
목록. 따라서 초기 예외의 전체 추적을 얻으려면 먼저 해당 추적을 읽은 다음 위의 추적에서 계속하십시오. 이 오버랩하지
주 - 모두 two()
나타납니다,하지만 "첫 번째"는 three()
에 대한 호출에의, 그리고 "다시 던져"에 추적에 그것이 throw
명령에의 추적.
원본 예외가 7 개 이상의 라인을보고 싶다면 무엇이 해결책입니까? – George
설명을 다시 작성하고 예제를 추가했습니다. – fadden
예, 잠시 동안 "진짜"Java로 작업하지는 못했지만, "Java stacktrace 12 more"또는 그와 비슷한 것을 검색하여이를 처리해야했습니다. 당신이 지적한대로 수정 된 ("12 개 이상의") 줄은 위의 스택 추적에서 중복 된 줄입니다. LogCat이 stacktrace의 "도움이되는"줄을 잘라내는 인상을 받았다.하지만 그렇지 않다. 오해를 고쳐 주셔서 고마워요. – George
코드가 너무 많은 스택을 생성하는 메서드를 호출하면 코드에서 예외를 처리 할 수 있고 로그와 관련된 내용을 출력 할 수 있습니다.
예외 처리가 전혀없고 코드에서 어디에서 핸들러를 사용해야하는지조차 알지 못하면 문제는 완전히 다른 곳에서 발생합니다. 예외 처리는 그보다 조금 더해야합니다.
모든 로그 메소드 (log.d, log.i, log.e 등)를 (String tag, String msg, Throwable tr)
매개 변수로 오버로드 할 수 있습니다. 여기서 세 번째 매개 변수는 예외입니다. 당신이 사용하는 어떤 SDK 버전이 당신에게
http://developer.android.com/reference/android/util/Log.html
- 1. 예외 스택 추적을 인쇄해야합니까?
- 2. 속도 템플릿에 예외 스택 추적을 인쇄하는 방법
- 3. log4j가 스택 트레이스를 자릅니다.
- 4. 오이 스택 추적을 없애기
- 5. 예외를 던지지만 스택 추적을 유지하십시오.
- 6. 예외 스택 추적 인쇄
- 7. Spring의 SimpleMappingExceptionResolver에 대한 예외 스택 추적을 기록하는 방법
- 8. Lotus Domino Designer 콘솔에서 예외 스택 추적을 인쇄하는 방법
- 9. 오류 페이지 - JSP에서 스택 추적을 인쇄하는 방법
- 10. 자바 스크립트 예외 스택 추적
- 11. Eclipse 편집기에서 스택 추적 감지
- 12. OCaml에서 스택 추적을 얻으려면 어떻게해야합니까?
- 13. 분할 오류의 스택 추적을 이해하십시오.
- 14. 스택 추적을 보존하는 JavaScript 재실행
- 15. 예외가 스택 추적을 지 웁니다.
- 16. 모든 스레드의 스택 추적을 얻으십시오.
- 17. Specman에서 스택 추적을 얻으려면 어떻게해야합니까?
- 18. 스택 추적을 해석하는 데 도움이됩니다.
- 19. TOMCAT에서 스택 추적을 어떻게 생성합니까?
- 20. StackOverflowException의 스택 추적을 인쇄하는 방법
- 21. (Jetty를 사용하여) 브라우저에서 스택 추적을 숨기려면 어떻게합니까?
- 22. 이클립스에서 전체 스택 추적을 표시하는 방법?
- 23. logcat에서 스택 추적을 추출 할 수 없습니다.
- 24. 사용자 모드 스택 추적을 활성화 할 때 전체 스택 추적을 가져 오지 않는 이유는 무엇입니까?
- 25. PHP/Zend의 예외 응답에서 스택 추적 숨기기
- 26. Eclipse - 스택 오버플로 오류
- 27. 예외 및 스택 추적
- 28. null 참조 예외 스택
- 29. .NET 응용 프로그램의 스택 추적을 보는 방법
- 30. RoutingErrors와 긴 스택 추적을 어떻게 필터링합니까?
로그 캣의 전체 스택 추적을 줄 것이다? 꽤 이상한 행동입니다 ... 스택 트레이스를 차단하는 출력 예제를 제공해 주시겠습니까? * 편집 * : 이클립스 태그를 보지 못했습니다. 죄송합니다. 어쨌든 원래의 logcat을 사용하면 문제가 없을 것이라고 생각합니다 :'adb logcat' – Cristian
"... 12 more lines ..."부분을 언급한다면, 또 다른 예외의 원인이었습니다. 스택 트레이스의 윗부분이 다른 것과 같으면 하나의 프레임 만 전체 프레임 세트가 표시되고 다른 하나는 "..."처리가됩니다. (당신은 정말로 당신의 질문에 더 많은 세부 사항을 추가 할 필요가 있습니다 - 당신이 원하는 것을 추측하고 있습니다.) – fadden
@Fadden : 당신 말이 맞아요. 이 의견을 답으로 게시하면 동의하게됩니다. – Casebash