>

iPhone에 대한 자동 테스트를 진행 중이며 gdb의 출력을 로그 파일로 리디렉션해야합니다. 일부 온라인 검색에서 디버깅을 시작하기 전에 명령 줄에서 다음 두 줄을 실행했습니다.

defaults write com.apple.Xcode PBXGDBDebuggerLogToFile YES
defaults write com.apple.Xcode PBXGDBDebuggerLogFileName <filepath>

...하지만 그들은 나를 위해 작동하지 않는 것 같습니다. 이전 버전의 Xcode의 기능과 관련하여 과거에 새로운 버전에서 사라지는 문제가있었습니다 (XCode 4.0.2를 사용하고 있습니다). 이 경우에 해당합니까, 아니면 내가 잘못한 것 같습니까?

XCode에게 출력을 로그 파일로 보내도록 지시하는 다른 방법이 있습니까? 커맨드 라인이나 AppleScript에서이 작업을 수행 할 수 있어야합니다. 실행중인 프로그램 코드에 아무것도 추가 할 수 없습니다.

  • 답변 # 1

    Xcode 4.0의 도메인 이름은 com.apple.dt.Xcode입니다. 또한 Xcode 4.0에서는 다음을 사용해야합니다. 기본값은 com.apple.dt.Xcode를 작성합니다. IDEGDBLogToFile /tmp/logs.txt

  • 답변 # 2

    모든 로그 파일로 모든 것을 리디렉션하는 gdb 주위에 래퍼 스크립트를 작성할 수 있습니다.

    예를 들어 다음은 gdb 실행 파일의 위치입니다.

    /Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gdb/gdb-arm-apple-darwin
    
    

    원래의 gdb 실행 파일과 같은 경로에있는 래퍼 스크립트 예제 :

    #!/bin/sh
    /Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gdb/gdb-arm-apple-darwin- $* | tee -a $HOME/tmp/xcode-gdb.log 2>&1
    
    

관련 자료

  • 이전 windows - 시스템 호출, set_time_limit가 작동하지 않는 스크립트에 대한 PHP 설정 시간 초과
  • 다음 php - pdo - : fetch_props_late 및 __construct () 호출을 사용하는 pdo?