중단 점을 설정하는 동안 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 도 줄 번호를 표시했습니다). 그래서 그냥 무시하십시오 🙂
답변
- 이클립스 메뉴에서 창-> 환경 설정-> Java-> 컴파일러로 이동하십시오.
- 확인란의 “행 번호 속성 추가 …”표시를 해제하십시오.
- 적용-> 예를 클릭하십시오.
- 체크 박스 “행 번호 속성 추가 …”
- 다시 신청하십시오.
- 즐거운 디버깅
답변
이로 인해 내 문제가 해결되었습니다.
- 창-> 환경 설정-> 서버-> 런타임 환경
- 아파치 톰캣-> 편집
- 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
편집 : 이것에 더하여, 나는 때때로 이클립스가주는 경고를 무시할 수 있으며, 여전히 필요한 장소에서 멈추게됩니다 … 개발자로 일할 때
답변
이것은 나를 위해 일했다 :
- 에서
Window --> Preferences --> Java --> Compiler --> Classfile Generation
모든 옵션은이어야합니다True
. - 제작
debug="true"
build.xml 파일의에서<javac>
작업. - 개미에 의해 생성 된 전쟁으로 바람둥이에 응용 프로그램을 배포하십시오.
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" >
행복한 디버깅 ..