가상 메모리로 사용할 상수 주소 범위를 설정할때는, 아래 두가지 중에서 편하신 방법으로 선택하여 사용하실 수 있습니다.
1. 매크로 함수로 설정하는 방법
2. CT 전역 설정과 프로젝트 특성에서 설정하는 방법
"1. 매크로 함수로 설정하는 방법"은 테스트 코드에 설정하는 방식이므로, 다른 테스트들에는 영향을 주지 않습니다.
"2. CT 전역 설정과 프로젝트 특성에서 설정하는 방법"은 해당 CT 프로젝트의 모든 테스트에 동일한 설정이 반영됩니다.
따라서 가상 메모리를 사용해야 할 테스트 개수가 매우 적거나, 각 테스트마다 사용할 가상 메모리 범위가 크게 달라진다면 "1. 매크로 함수로 설정하는 방법"이 유리할 수 있으며, 반대로 동일한 범위의 가상 메모리를 여러 테스트에서 사용해야 한다면, "2. CT 전역 설정과 프로젝트 특성에서 설정하는 방법" 이 유리할 수 있습니다.
1. 매크로 함수로 설정하는 방법
매크로 함수로 가상 메모리 범위를 설정할 수도 있습니다. 먼저 테스트를 생성하고, 생성된 테스트 편집창의 "호출 전 코드" 에 아래와 같이 작성합니다.
ex) CS_VIRTUAL_ADDR(0xFFE40000U, 0xFFE40100U);

2. CT 전역 설정과 프로젝트 특성에서 설정하는 방법
2-1. 환경 설정 - 테스트 - 가상 메모리 주소 메뉴에서 [추가] 버튼을 이용해 사용하신 주소 범위를 입력합니다.

2-2. 프로젝트 특성 - 테스트 - 가상 메모리 주소 메뉴에서 위 입력한 가상 주소를 선택합니다.

주의 사항
1. 호스트용 툴체인(gcc, Visual Studio cl)을 사용하는 CT 프로젝트에서는 가상 메모리 주소를 사용할 수 없습니다.
환경 설정 - 툴체인 화면에서, 컴파일러 항목에 "사용" 으로 표시된 툴체인들은 모두 호스트용 툴체인(가상메모리 사용불가) 입니다.

2. CT 프로젝트에 사용되는 툴체인.ini 파일의 use_memory_map 옵션이 0 으로 비활성화되어 있으면 가상 메모리 주소를 사용할 수 없습니다.
툴체인.ini 파일의 경로는 아래와 같습니다.
%APPDATA%\CodeScroll\1.1\parserConfig\<툴체인명>.ini

3. 가상 메모리 주소는 가능한 작은 단위로 등록하는게 좋습니다.
가상 메모리 범위는 시스템(OS)에서 허용하는 범위를 초과할 수 없습니다.
만약 가상 메모리가 허용 범위를 초과하면, 예상치 못한 잘못된 동작을 초래합니다.
예를 들어 상수 주소에 접근하는 코드(5번 라인)에서 Signaled 오류가 발생하는 상황에서 지나치게 큰 범위로 가상 메모리 설정을 추가하면, 테스트 대상 함수가 호출되지 못하는 등의 결과를 초래할 수 있습니다.
3-1. 가상 메모리 설정이 없는 상태

3-2. 허용 범위를 초과한 큰 범위로 가상 메모리를 설정한 상태

허용되는 가상 메모리 범위는 대상 PC의 메모리 크기와 테스트가 실행되는 순간의 메모리 점유율에 따라 달라지기 때문에, 사용 가능한 메모리의 범위를 정확히 확인하기 어렵습니다.
이런 오류를 예방하기 위해, 실제 사용할 가상 메모리의 범위를 가능한 작은 단위로 설정해야 합니다.
아티클이 유용했나요?
훌륭합니다!
피드백을 제공해 주셔서 감사합니다.
도움이 되지 못해 죄송합니다!
피드백을 제공해 주셔서 감사합니다.
피드백 전송
소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.