[eclipse] Eclipse-행 번호 속성이 누락되어 중단 점을 설치할 수 없습니다.

중단 점을 설정하는 동안 Eclipse 에서이 이상한 오류가 발생합니다.

Unable to insert breakpoint Absent Line Number Information

컴파일러 옵션에서 확인란을 선택했지만 운이 없습니다.



답변

Eclipse 3.4.1에서 동일한 오류 메시지가 나타났습니다. SUN JVM1.6.0_07이 Tomcat 6.0에 연결되었습니다 (다른 시스템 인 디버그 모드에서 실행 됨, Sun JVM1.6.0_16, 디버그 연결이 올바르게 작동 함).

창-> 환경 설정-> Java-> 컴파일러-> 클래스 파일 생성 : “생성 된 클래스 파일에 행 번호 속성 추가” 가 선택되었습니다. 나는 깨끗하고 재 컴파일했다. 나는 그것을 확인하지 않고 다시 컴파일하고 확인하고 다시 컴파일했다. 프로젝트가 전역 설정을 사용했는지 확인했습니다. 여전히 같은 메시지입니다.

나는 개미 빌드로 전환했다.

<javac srcdir="./src/java" destdir="./bin" debug="true">

여전히 같은 메시지입니다.

이 메시지의 원인과 사라지지 않는 이유를 찾지 못했습니다. 실행중인 Tomcat 디버그 세션과 관련이있는 것처럼 보이지만 연결이 끊어지면 다시 컴파일하면 문제가 해결됩니다. 그러나 디버거를 Tomcat에 연결하거나 연결된 디버그 세션 중에 새 중단 점을 설정하면 다시 나타납니다.

그러나 메시지가 잘못되었다는 것이 밝혀졌습니다 . 디버깅 전과 디버깅 중에 실제로 브레이크 포인트를 디버깅하고 설정할 수있었습니다 ( javap -l 도 줄 번호를 표시했습니다). 그래서 그냥 무시하십시오 🙂


답변

  1. 이클립스 메뉴에서 창-> 환경 설정-> Java-> 컴파일러로 이동하십시오.
  2. 확인란의 “행 번호 속성 추가 …”표시를 해제하십시오.
  3. 적용-> 예를 클릭하십시오.
  4. 체크 박스 “행 번호 속성 추가 …”
  5. 다시 신청하십시오.
  6. 즐거운 디버깅

답변

이로 인해 내 문제가 해결되었습니다.

  1. 창-> 환경 설정-> 서버-> 런타임 환경
  2. 아파치 톰캣-> 편집
  3. JRE 대신 JDK를 선택하십시오.

답변

들어 관련 문제는 경우에 따라서는 “줄 번호없이”클래스를 생성 것을 고려; 예를 들어 @Service인터페이스가없는 주석이 달린 클래스의 경우 인터페이스를 추가하면 디버그 할 수 있습니다. 완전한 예는 여기 를 참조 하십시오 .

@Service("SkillService")
public class TestServiceWithoutInterface {
   public void doSomething() {
      System.out.println("Hello TestServiceWithoutInterface");
   }
}

위의 서비스는 스프링에 의해 생성 된 인터페이스에 “줄 번호 누락”이 발생합니다. 실제 인터페이스를 추가하면 생성 문제가 해결됩니다.

public interface TestService {
    void doSomething();
}

@Service("SkillService")
public class TestServiceImpl implements TestService {
   public void doSomething() {
      System.out.println("Hello TestServiceImpl");
   }
}


답변

BlackBerry SDK 측면 에서이 문제에 대한 답변이 있습니다. 어떤 이유로 컴파일러의 옵션을 몇 번이나 변경하더라도 실제 기본 설정 파일은 변경되지 않았습니다.

프로젝트의 .settings 폴더에서 org.eclipse.jdt.core.prefs 파일을 찾으십시오 .

여기에서 설정을 수동으로 수정할 수 있습니다.

org.eclipse.jdt.core.compiler.debug.lineNumber=generate

편집 : 이것에 더하여, 나는 때때로 이클립스가주는 경고를 무시할 수 있으며, 여전히 필요한 장소에서 멈추게됩니다 … 개발자로 일할 때


답변

이것은 나를 위해 일했다 :

  1. 에서 Window --> Preferences --> Java --> Compiler --> Classfile Generation모든 옵션은이어야합니다 True.
  2. 제작 debug="true"build.xml 파일의에서 <javac>작업.
  3. 개미에 의해 생성 된 전쟁으로 바람둥이에 응용 프로그램을 배포하십시오.
  4. Debug모드 에서 Tomcat을 다시 시작했습니다.

답변

이것이 여전히 관련이 있는지 모릅니다. 아마도 다른 선원이 이것을 유용하게 사용할 것입니다.

디버그 플래그를 컴파일 한 클래스 파일이 있으면이 메시지가 나타납니다.

일식에서는 위에서 언급 한 옵션으로 켤 수 있습니다.

창-> 환경 설정-> Java-> 컴파일러-> 클래스 파일 생성 : “생성 된 클래스 파일에 행 번호 속성 추가”

그러나 jar 파일이 있으면 컴파일 된 출력을 얻게됩니다. 이 문제를 해결하는 쉬운 방법은 없습니다.

소스에 액세스 할 수 있고 ant를 사용하여 jar 파일을 얻는 경우 다음과 같이 ant 태스크를 수정할 수 있습니다.

  <javac  destdir="${build.destDir}" srcdir="${build.srcDir}" source="1.6" fork="true" target="${javac.target}" debug="on" debuglevel="lines,vars,source" deprecation="on" memoryInitialSize="512m" memoryMaximumSize="1024m" optimize="true"   >

행복한 디버깅 ..

심판 :
http://doc.sumy.ua/prog/Java/javanut/ch16_04.htm