JSL 디버거가 중첩 함수 또는 스크립트로 들어갈 수 있습니까?내 중첩 함수 또는 스크립트에 중단 점을 설정했지만 "단계적"은 아무 것도 수행하지 않는 것 같습니다.
Re : JSL 디버거가 중첩 된 함수 나 스크립트로 들어갈 수 있습니까? aw ,
사용중인 JMP 버전을 언급하지 않았거나 예제 스크립트를 제공하지 않았습니다.
다음은 JMP 스크립팅 언어, 제 2 판의 JSL Companion Applications 11 장을 위해 작성된 예제 스크립트입니다. 사용자 정의 목록 함수에는 Include ()를 사용합니다. 함수가 호출되고 JMP 디버거가 포함 된 파일로 들어가는 19 및 20 행에서 중단을 설정할 수 있습니다. 로컬 변수 값을보고 중단 점 등을 설정할 수 있습니다. 이것은 간단한 예이며 JMP 12, 13 및 14에서 테스트되었습니다.
Include () 문에서는 아무 것도 발생하지 않지만 함수가 호출 된 위치에서는 발생합니다.
Names Default to Here(1);
Delete Symbols();
Include( "$JSL_Companion/11_LCombine_Func.jsl" );
// usage
//--- example #1 --- numeric list arguments
l1 = {1, 2, 3, 4, 5, 3, 5,7};
l2 = {2, 3, 4, 6, 7, 8};
xx=LCombine(l1, l2, "union");
yy=LCombine(l1, l2, "intersect");
show(xx,yy);
도움이 더 필요한 경우 자세한 정보를 제공해야합니다.
포함 된 스크립트 파일이 첨부됩니다.
Re : JSL 디버거가 중첩 된 함수 나 스크립트로 들어갈 수 있습니까?답변 주셔서 감사합니다. JMP14를 사용하고 있으며 아래는 중첩 스크립트를 시작할 수없는 간단한 예입니다. 디버거는 사용자 입력을 기다리지 않고 (스크립트 클릭) 3 행에 도달하면 실행을 종료합니다. 지속적인 워크 플로와 같은 시나리오를 어떻게 디버깅 할 수 있습니까?
dt = New Table( "Test", New Column( "Value", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [1, 33, 239, 3, 4] ) ) );
dt << New Script( "Dummy Script",
For( i = 1, i <= NRows( dt ), i++,
If( dt:Value[i] < 50,
Show("Pass"),
Show("Fail");
);
);
);
Re : JSL 디버거가 중첩 된 함수 나 스크립트로 들어갈 수 있습니까? aw ,
디버거를 실행할 때 중단을 설정하는 방법을 알고 있다고 가정하면 스크립트에 혼란이 있습니다.
제공 한 스크립트를 실행하거나 디버깅해도 간단한 스크립트 "더미 스크립트"는 실행되지 않습니다. 아래는 스크립트 수정의 스크린 샷입니다. 스크립트는 단순히 텍스트 문자열을 작성하고 유효한 JSL 코드, 데이터 테이블을 부여하지만 스크립트는 실행하지 않습니다. 스크린 샷이 표시되면 JSL 구문을 추가하여 테이블 스크립트 "Dummy Script"를 실행하고 그에 따라 중단 점을 설정하십시오. 전역 및 로그 탭을 참조하십시오. 스크린 샷은 For 루프를 통한 두 번째 패스, 즉 i = 1을 표시합니다.
희망은 혼란을 없애줍니다.
Re : JSL 디버거가 중첩 된 함수 나 스크립트로 들어갈 수 있습니까?간단한 대답은 "아니오"라고 생각합니다.
필자의 경우 사용자는 더미 스크립트를 실행하기 전에 dt의 내용을 검사 / 조작합니다. 사용자가 완료되기 전에 강제로 실행할 수 없습니다.
JMP가 앞으로 더 많은 표준 디버거 스레딩 기능을 포함 할 수 있기를 바랍니다.