programing

Eclipse에서 디버깅하는 동안 전체 문자열 보기

firstcheck 2022. 7. 23. 11:51
반응형

Eclipse에서 디버깅하는 동안 전체 문자열 보기

Java 코드를 디버깅하는 동안 "Variables" 및 "Expressions" 보기의 문자열은 특정 길이까지만 표시되고, 그 후 Eclipse는 "..."를 표시합니다.

스트링 전체를 검사할 수 있는 방법이 있나요?(이것에 의해, 모든 장소에서 디버깅하기 위한 로깅 스테이트먼트를 추가하는 번거로움이 경감됩니다).

[ Variables ]뷰에서 [Details]페인(문자열 내용이 표시되는 섹션)을 오른쪽 클릭하여 [Max Length]를 선택할 수 있습니다." 팝업메뉴.동일한 길이가 식 검사기 팝업 및 기타 일부 위치에 적용됩니다.

여기에 이미지 설명 입력

변수 보기에서 변수를 마우스 오른쪽 버튼으로 클릭하고 값 변경을 선택합니다.변수가 클 경우 몇 분 정도 기다려야 하지만(이 경우 Eclipse는 명령에 응답하지 않습니다), 결국 Eclipse는 변수를 완전히 표시합니다.

문자열이 너무 길면 다른 전략을 사용합니다. 파일에 덤프합니다.데이터를 파일로 덤프하기 위해 평가되는 Display 뷰에서 사용하는 코드 조각이 있습니다.Commons IO를 사용하고 있습니다만, JDK만의 방법으로 할 수 있습니다.

org.apache.commons.io.FileUtils.writeStringToFile(new java.io.File("<filename>"), <expression to evaluate>);

당연히 클래스 패스에 Commons IO JAR이 필요합니다.그렇지 않으면 JDK 작업에 의존합니다.

이클립스 디버깅뷰에서 String 값을 표시하는 가장 좋은 방법은 다음과 같습니다.

1) Eclipse에서 디버깅 보기로 전환

2) Variable 창에서 원하는 변수를 선택합니다.

3) 값이 표시되는 가변창의 표시영역을 우클릭하여 Max Length를 클릭한다.[ Configure Details ]페인에 최대 문자값을 입력합니다.

4) 건배

여기에 이미지 설명 입력

디버거가 String 값을 원하는 지점에 도달하면 sysOut 문을 입력하십시오.

System.out.println("The value is : \n " + query);

위의 문장을 선택하고 오른쪽 클릭-> 실행

콘솔에 값이 인쇄됩니다.

이클립스 기반의 Javascript 기반 디버깅에서는 "값 변경" 메서드와 "최대 길이" 메서드가 모두 실패하여 감시 대상 오브젝트를 추가한 후 오른쪽 버튼을 클릭하여 "전체 로드"를 선택하는 이 유일한 솔루션이지만, 이 경우에도 출력에 불필요한 "\n"이 삽입됩니다.

참고 - "Load Full Value"가 최대 길이(기본값은 10000)까지 값을 로드할 때 작동하려면 "Max length"를 설정해야 합니다.최대 길이를 설정하는 방법은 위의 답변을 참조하십시오.

Eclipse Mars에는 "max Length"가 없습니다.그리고 "변수 값"은 "식"이 아닌 "변수"에서만 작동하기 때문에 위의 항목 중 어느 것도 작동하지 않습니다.

여기에 이미지 설명 입력

그리고 마지막이 아니라 중간에서 표현이 잘려나갑니다.그들이 기본 행동을 바꾼 것 같아요.

저는 식 이름 열의 너비를 확장한 후 식 전체를 클릭하여 전체 길이의 내용을 볼 수 있습니다.

위의 내용은 전혀 효과가 없었고, 게다가 Eclipse의 일부 사용자 인터페이스 요소를 설명대로 찾을 수 없었습니다.STS 4.3.1을 사용하고 있습니다.

제가 필요로 하는 가치는 매우 컸습니다.그것은 엄청난 JSON 요청의 일부입니다.해결 방법은 Eclipse Debug Shell 콘솔에서 식을 사용하여 전체 값의 하위 문자열을 출력하는 것입니다.부분 값을 볼 수 있으므로 해당 값을 검사하고 마지막 몇 리터럴을 문자열의 다음 청크를 출력하는 위치로 사용합니다.필요한 것을 얻을 때까지 이 방법을 반복합니다.

String result = new String(reallyBigByteArrayValue, "UTF-8");
result.substring(result.indexOf("some-unique-text"));

Eclipse IDE 2020-09에서는 마우스 오른쪽 버튼을 클릭하면 "콘솔에 예쁜 인쇄"라고 표시됩니다.오른쪽 클릭 대화 상자

콘솔에서 전체 길이로 복사할 수 있습니다.

언급URL : https://stackoverflow.com/questions/2873949/viewing-complete-strings-while-debugging-in-eclipse

반응형