콘솔 기반 애플리케이션 디버깅
Imatest 라이브러리에서 생성되는 진단 정보의 대부분은 STDOUT 및 STDERR 스트림으로 출력됩니다. 4.0 버전 이상에서는 다음 INI 설정을 추가하여 이 기능을 사용할 수 있습니다.
[api]
디버그=1
테스터 프로그램에서 이 출력을 캡처하여 로그 파일에 저장하려면 다음과 같이 프로그램을 실행하십시오.
testerprogram.exe > outputlog.txt 2>&1
outputlog.txt 파일을 검사하면 오류 발생 원인에 대한 자세한 정보를 확인할 수 있습니다. 궁금한 점이 있으면 이 파일을 Imatest 고객 지원 센터 로 보내주세요. 오류 원인을 파악하는 데 도움을 드리겠습니다. 또한 Imatest INI 파일, 생성된 JSON 출력 파일, 그리고 특정 이미지로 인해 오류가 발생한 경우 해당 이미지도 함께 보내주시기 바랍니다.
GUI 기반 애플리케이션 디버깅
Imatest 호출은 try 블록 안에 넣고, catch 블록에서 mwException 객체를 받도록 해야 합니다. 그런 다음 mwException 클래스의 print_stack_trace() 멤버 함수를 호출하여 MATLAB 스택 트레이스를 cerr에 출력하도록 하세요. print_stack_trace() 함수는 const가 아닌 mwException 객체에만 존재한다는 점에 유의하세요. 예시:
노력하다 {
acquire_image(2, im_orig, vstr, source_id, vararginParam);
}
catch(mwException& e) {
cout << "실행 오류!" << endl;
cerr << e.what() << endl;
e.print_stack_trace();
}
GUI 프로그램은 호출하는 라이브러리의 STDOUT 및 STDERR 스트림을 차단합니다. 애플리케이션에서 cerr이 출력되지 않으면 해당 스트림 출력을 캡처해야 합니다. 저희 운영자 콘솔 프로젝트 의 일환으로 이러한 스트림을 캡처하는 방법을 마련해 두었습니다.
스트림을 캡처하는 방법은 다음 파일을 참조하세요.