Jmp 애플리케이션을 디버깅하는 방법에 대한 몇 가지 요령이 있습니까?
그렇게하는 기본 방법은 다음과 같습니다.
Jmp 디버거를 사용하고, 중단점을 추가하고, 애플리케이션 코드를 실행하고 중단점에서 중지한 다음, 단계별로 무슨 일이 일어나고 있는지 확인하세요.
비애플리케이션 JSL 코드를 디버그해야 할 때 언제든지 스크립트에 있는 모든 코드를 자유롭게 실행할 수 있다는 점이 마음에 듭니다.
예를 들어 보고서 창의 모달 설정을 제거하고 보고서 창을 만든 다음 jsl 파일의 다른 위치에 있는 일부 코드 줄을 실행합니다.
Application Builder의 애플리케이션에서도 이것이 가능합니까?
1) Application Builder에서 Embedded log를 활성화하는 방법은 무엇입니까?

2) 수동으로 생성된 애플리케이션을 디버깅하기 위해 다음을 찾았습니다.
myApp = JMP App();
(myApp << Get Namespace) << Show Contents;
Application Builder에서 애플리케이션을 실행할 때 핸들이 없습니다. 마이앱 앱과 대화하는 데 사용할 수 있습니다.
현재 앱의 네임스페이스를 가져와 코드에 "침투"하는 명령이 있습니까?
((current report() << get App() ) << get Namespace()) << include Namespace in HERE
실행 중인 앱의 네임스페이스에 직접 액세스하여 앱에서 코드 조각을 복사하고 스크립트 창에서 직접 실행할 수 있습니까?
3) JSL 코드에 오류가 있으면 JSL 편집자가 경고하거나 오류 메시지를 표시하여 오류를 찾아 수정하는 데 도움을 줍니다.
응용 프로그램의 소스 스크립트를 열고 작은 오류가 발생하면 다음과 같이 코드를 실행할 때 Jmp가 충돌합니다. << 편집 또는 << 실행
벌점을 덜 받고 소스 코드를 변경할 기회가 있나요? 스크립트를 실행하기 전에 사용할 수 있는 사전 확인 루틴이 있습니까?
포함된 스크립트에 대해서도 실제로 동일합니다. 기본 스크립트의 HERE 네임스페이스에 액세스하여 포함된 스크립트의 코드를 수동으로 실행할 수 있습니까?
주요 스크립트:
Names Default to HERE(1);
::myNamespace = localHERE(); //*)
temp =5;
include ("script_inc.jsl");포함된 스크립트:
///////////////////////////
// to be able to manually execute code in this file, which accesses variables of the main file,
// you need direct access to the namespace of the main file. To get this access, execute:
///////////////////////////
access Namespace(::myNamespace) // *)
Show(temp);
*) (분명히) 이것은 작동하지 않습니다
이 화면 캡처는 "문제"를 보여줍니다. 기본 스크립트에 포함될 때 script_B는 여기 메인 스크립트의 네임스페이스(왼쪽 창의 로그)입니다.
그러나 별도로 실행되면 script_B에는 자체 여기 네임스페이스.
그것은 설계된 것과 같습니다:
효율성과 재현성을 위한 필수 스크립팅: 적은 작업으로 더 많은 작업을 수행(2019-US-TUT-290)
... 하지만 디버깅을 위해 script_B에서 직접 한 줄을 실행하는 것은 불가능합니다.
-> script_B 를 디버그할 수 있도록 네임스페이스를 어떻게 연결합니까?