Main Content

앱을 사용하여 런타임 문제 검사하기

MATLAB® 코드에 대한 독립 실행형 C/C++ 코드를 생성하기 전에 진입점 함수에서 MEX 함수를 생성하는 것이 가장 좋습니다. 이 단계는 선택 사항입니다. 그러나 MEX 함수를 실행하면 생성된 코드에서 진단하기 어려운 런타임 오류를 감지하고 수정할 수 있습니다. 또한 MEX가 원래 MATLAB 코드와 동일한 기능을 제공하는지 확인할 수도 있습니다.

MATLAB Coder™ 앱에서 MATLAB 코드에 대한 MEX 함수를 생성하고 실행하려면 런타임 문제 검사 단계를 수행하십시오.

  1. 진입점 함수를 호출하는 함수나 스크립트를 작성합니다. 입력 유형 정의 단계에서 입력 유형을 자동으로 정의하는 데 사용하는 것과 동일한 테스트 파일을 사용할 수 있습니다. 또는 앱 명령 프롬프트에서 코드를 직접 입력할 수도 있습니다.

  2. 소스 파일 선택 단계와 입력 유형 정의 단계를 완료합니다. 입력 유형 정의 페이지에서 다음을 클릭하여 런타임 문제 검사 단계로 이동합니다.

  3. 테스트 파일을 지정합니다. 이전 단계에서 입력 유형을 자동으로 생성했으면 앱이 해당 테스트 파일로 대화 상자를 채웁니다. 테스트 파일 대신 진입점 함수를 호출하는 코드를 입력할 수 있습니다. 그러나 테스트 파일을 제공하는 것이 가장 좋습니다.

  4. 문제를 검사합니다를 클릭합니다. 앱이 MATLAB 함수에서 MEX 함수를 생성합니다. 앱은 사용자가 지정한 테스트를 실행하여 MATLAB 진입점 함수에 대한 호출을 생성된 MEX 함수에 대한 호출로 대체합니다. 앱은 MEX 생성 오류 또는 빌드 오류를 오류 탭에 보고합니다. 앱은 MEX 런타임 오류를 테스트 출력 탭에 보고합니다.

  5. 앱이 오류를 보고하는 경우 MATLAB 코드를 편집하려면 오류 보기를 클릭합니다.

  6. 문제를 수정한 후 테스트로 돌아가려면 문제를 검사합니다를 클릭합니다.

MATLAB Coder 앱은 MATLAB Online™에서 지원되지 않습니다.

MATLAB 라인 실행 횟수 수집하기

앱은 MEX 함수를 실행할 때 하나의 MATLAB 코드 라인에 해당하는 MEX 코드의 실행 횟수를 셉니다. 앱이 문제를 감지하지 않으면 사용자는 이러한 라인 실행 횟수를 볼 수 있습니다. 라인 실행 횟수는 테스트에서 MATLAB 코드를 얼마나 잘 실행했는지 확인하는 데 도움이 됩니다. 데드 코드와 추가 테스트가 필요한 코드 섹션을 파악할 수 있습니다. Collect and View Line Execution Counts for Your MATLAB Code 항목을 참조하십시오.

라인 실행 횟수 초기화하기

런타임 문제를 여러 번 검사하면 라인 실행 횟수가 누적됩니다. 횟수를 0으로 설정하려면 라인 실행 횟수 초기화를 클릭하십시오.

병렬 루프에 대해 JIT 컴파일 비활성화하기

기본적으로 앱은 MEX 함수의 생성 속도를 높이기 위해 JIT(Just-in-Time) 컴파일을 사용하려고 시도합니다. JIT 컴파일은 사용자 지정 코드, OpenMP 라이브러리 사용 같은 특정 코드 생성의 기능 및 옵션과 호환되지 않습니다. JIT 컴파일을 사용할 수 없는 경우 앱은 C/C++ MEX 함수를 대신 생성합니다. 코드에서 parfor를 사용하고 가능한 경우 OpenMP 라이브러리 활성화 설정이 인 경우, 앱은 JIT 컴파일을 사용하며 parfor 루프를 for 루프로 취급합니다. 런타임 문제 검사 단계에서 for 루프를 병렬로 실행하려면 JIT 컴파일을 비활성화하십시오.

  1. 런타임 문제 검사 페이지에서 설정을 클릭합니다.

  2. 모든 설정 탭에서 런타임 문제 검사에 JIT 컴파일 사용아니요로 설정합니다.

관련 항목