2014-01-29 3 views
2

Eclipse 디버거의 Java 프로그램에서 변수를 호출하는 동안 스칼라 메소드에 변수를 표시하는 방법은 무엇입니까? 스칼라 라이브러리에서 메서드를 호출하는 Java 프로그램을 디버깅하고 있습니다. 거기에 중단 점을 넣을 수 있으며 중단 점이 작동합니다. 그러나 디버거는 변수를 표시 할 수 없습니다. Eclipse를 사용하고 있습니다. 이클립스에 대한 스칼라 플러그인을 설치하지 않는 경우Eclipse에서 Scala 라이브러리의 디버깅 메소드

http://www.quora.com/How-do-I-display-variables-in-Scala-methods-while-calling-them-from-Java-program-in-Eclipse-debugger

+1

이클립스에서 스칼라-IDE 플러그인을 사용하고 있습니까? Java 디버거는 바이트 코드 만 이해할 수 있으므로 중단 점은 작동하지만 AST를 재구성 할 수는 없으며 다른 방법으로 표시하는 방법을 알지 못합니다. 어쩌면 소스 코드 위치를 지적해야 할 필요가 있을까요? 내가 틀렸을지도 모른다. –

+0

Scala-IDE 플러그인을 사용하고 있지 않습니다. 나는 ApacheKafka 라이브러리에서 메소드를 호출하는 Java 프로그램을 사용하고 있으며 이것은 스칼라에있다. 원본이 첨부되어 있습니다. 정확한 원본 위치를 가리키고 있습니다. –

답변

2

글쎄, 그것은 거 꽤 적지 않은 수, 당신은 여기를 찾을 수 있습니다

http://scala-ide.org

스칼라가에 대한 컴파일 JVM을 사용하면 플러그인없이 디버깅 할 수 있습니다. 이론적으로. 실용적인 문제는 클래스 파일에 이해하기 힘든 생성 된 수많은 항목이 있다는 것입니다 (예 : 익명 함수를 바이트 코드로 변환하는 스칼라의 개념에 익숙한 경우에도).

예 : scala.some.Class$$anon$1$$anonfun$someFunction$1$2$$anonfun$apply$2.apply과 같은 괴물을 다루어야합니다. 플러그인을 설치하면 c -> c.somefunction(println(e))과 같은 것을 보는 것이 훨씬 쉽습니다.

종속성에 사용 된 스칼라 버전을 확인하고 해당 스칼라 버전에 필요한 스칼라 IDE를 설치하고 소스를 첨부하면 디버깅 할 수 있습니다.

+0

나는 eclipse Scala IDE를 사용 중이다. 이제 구성원 변수 등을 검사 할 수 있습니다. 하지만 지역 변수를 검사 할 수는 없습니다. IDE가 Java.lang.NullPointerException을 표시합니다. Java 응용 프로그램으로 디버깅하고 있습니다. IDE가 변수 유형과 혼동 될 수 있습니다. –

+0

어떤 버전의 IDE를 사용하고 있습니까? 남자들은 보통 최신 안정적인 야간 버전을 사용하는 경향이 있습니다. https://groups.google.com/forum/#!forum/scala-ide-user – rlegendi

+0

스칼라 IDE 3.0.0 (Eclipse SDK, 버전 : 3.7.2)을 사용하고 있습니다. –