2011-03-10 3 views
2

JPL 브리지를 통해 Java + Prolog 응용 프로그램을 개발 중입니다. 주요 응용 프로그램은 자바에 그리고 내가 Query.hasSolution("gtrace")를 사용하여 GUI 디버거/추적을 실행 시도 Query.oneSolution("doPrologStuff(here)")JPL을 통해 Java 응용 프로그램 내에서 실행되는 Prolog 코드에서 GUI 디버거를 사용하려면 어떻게해야합니까?

사용하여 프롤로그 코드를 호출하지만 예외가 발생합니다 :

Exception in thread "main" jpl.PrologException: PrologException: error(existence_error(procedure, /(gtrace, 0)), context(:(system, /('$c_call_prolog', 0)), _0)) 
    at jpl.Query.get1(Query.java:336) 
    ... 

을 (동일는 "guitracer"간다)

에서 Prolog 코드를 직접 실행하면 gtrace.을 호출하는 것이 좋습니다.

Query.hasSolution("trace")을 시도하면 텍스트 콘솔을 사용하여 코드를 디버깅 할 수 있지만 그게 내가 찾고있는 것이 아닙니다. 모든 아이디어는 어떻게 GUI 디버거를 활성화하려면?

나는 개발 우분투에 Eclipse를 사용하고 있지만, 도움이된다면 :

답변

0

당신은 프롤로그의 그래픽 환경 (xpce)를 연결해야합니다 나는 다른 도구를 시도 할 수 있습니다. swi ('swipl.rc') 파일을로드하여이 작업을 수행 할 수 있습니다. 다음 질문은 이벤트 전달이 발생하는지 여부입니다. 설정에 따라 다릅니다. 최신 5.11.18/5.10.4 버전을 사용하는 경우 프롤로그 플래그 xpce_threaded를 true로 설정하면 SWI-Prolog가 자체 스레드에서 개발 도구를 실행할 수 있습니다 (현재 Unix/Linux 시스템에서만 작동 함) .

+0

''swi ('swipl.rc'). '를 호출 한 후에 파일이 컴파일되지만'gtrace.'를 호출 할 때 [끝내지 않는 오류 메시지] (http://pastebin.com/t8hXrmzm). 이 버전은 현재 우분투 저장소에 있으므로 버전 5.8.2로 테스트했습니다 :) – daniel