[instruments.app] Debugging / C / C++ / Program

2024. 3. 20. 18:59🍏/Xcode

Instruments Version 15.2

글 작성 기준 버전 15.2

이 글은 instruments.app 앱으로 간단하게 테스트 프로그램의 Leaks check 및 트러블 슈팅에 대해서 다룬다. 

instruments.app 을 실행하자.

Leaks 외에도 여러가지를 테스트 해볼 수 있다. C에서 주로 사용하게 될것은 Leaks혹은 Allocations 정도. 

 

Target 을 내가 뽑아낸 프로그램으로 지정해줘야 한다.

 

choose Target 선택해서 프로그램 선택. (참고 : clang으로 컴파일했다.)

꿀팁 > Command + Shift + G 누르면 경로를 적어서 이동가능 하다.

 

Trouble shooting 

1. Failed to gain authorization

Failed to gain authorization

Failed to gain authorization 에러가 뜨는 경우 아래와 같이 codesign을 해주면 실행이 가능하다.

 

codesign -s - -v -f --entitlements =(echo -n '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd"\>
<plist version="1.0">
    <dict>
        <key>com.apple.security.get-task-allow</key>
        <true/>
    </dict>
</plist>') <your executable>

 

코드 사인을 해주고 실행하였을때

2. Required kernel recording resources are in use by another document.

이 경우에 instruments.app 을 Command + q 로 종료후 다시 시작 해주면된다. 

다시 실행 후 Command + R 로 실행해주면 정상 작동하는 것을 볼 수 있다.