C++ 코드를 테스트할 때 전역변수가 class 타입이면, 해당 class의 생성자에서 비정상 종료되는 경우가 발생할 수 있습니다.

이 경우, 아래의 내용을 확인해야 합니다.

  1. __get_errno_ptr() 함수가 스텁으로 만들어져 있다면, 스텁 바디에 아래 내용을 추가합니다.
    • int* x = (int *)calloc(1, sizeof(int)); return x;
  2. debug 유틸이나 shm(공유 메모리) 관련 유틸을 사용하고 있다면, 파일 경로가 하드코딩되어 있지 않은지 확인이 필요합니다. 하드코딩되어 있다면 파일에 접근하는 시스템 함수들(fprintf 등)을 스텁으로 생성해야 합니다.
  3. 초기화 시점에 exit 코드를 수행하는지 확인해야 합니다. 만약, exit 코드를 수행한다면 exit 코드를 스텁으로 생성해야 합니다.
  4. 생성자 스텁에 throw가 있는지 확인해야 합니다. throw가 있다면 제거해야 합니다.

Need more help with this?
Don’t hesitate to contact us here.

Thanks for your feedback.