2010-05-06 4 views
6

확장명이 "Modify/view static variables while debugging in Eclipse"인 경우 Eclipse에서 디버깅하는 동안 정적 변수를 수정하고 싶습니다.Eclipse에서 디버깅하는 동안 정적 변수 수정

예를 들어 로컬 변수의 경우 Eclipse의 "변수"보기에서 변수를 선택하고 컨텍스트 메뉴 "값 변경 ..."을 사용하여 값을 변경할 수 있습니다.

"변수"보기에는 나타나지 않으므로 임의의 정적 변수에는 사용할 수 없습니다.

내가 시도하는 것 :

  1. 는 "변수"보기에서 삼각형 메뉴에서 "자바/쇼 정적 변수"를 선택하면, 당신이 볼 수 "에 나열된 변수의 정적 멤버 변수를 수정 변수보기 ". 그러나 인스턴스가 "변수보기"에 나타나지 않는 클래스의 정적 멤버에 액세스하는 방법을 찾지 못했습니다.
  2. "정규식 이름을 사용하여"식보기로 식으로 정적 멤버를 입력 할 수도 있습니다. 그러면 값을 볼 수는 있지만 "표현식보기"에는 값을 수정할 수있는 옵션이 없습니다. 이 표현식의 구성원을 수정할 수는 있지만 표현식이 필드가 아니더라도 표현 자체는 수정할 수 없습니다.

부울 MyClass.disableAllBugs와 같은 정적 변수가있는 경우 디버깅 중에 MyClass.disableAllBugs를 변경할 수있는 방법이 있습니까?

제쳐두고 : 공개 가변 필드 (즉, 변경 가능한 전역 변수)를 가지고 있어도 매우 나쁜 스타일이라는 것을 알고 있습니다. 그러나 일부 코드베이스에는이 기능이 있으며 디버깅 중에 수정하는 것이 유용한 경우가 있습니다.

답변

6

임시 줄 SomeClass.myStaticVar = newValue;을 작성하여 선택하고 마우스 오른쪽 버튼으로 클릭 한 다음 "실행"할 수 있습니다.

+0

좋은 속임수. 때로는 디버깅 중에 수동으로 메소드를 호출하는 경우가 있습니다 (예 : 예외의 경우 printStackTrace()). 그러나 나는이 맥락에서 그것을 생각하지 않았다. – sleske

+0

개인 정적 필드 인 경우 어떻게됩니까? – RAY

+0

@RAY 그냥 개인 정적 필드에서도 작동하는지 확인하고 싶습니다. – nerdherd

관련 문제