[iphone] iPhone Simulator에서 생성 된 충돌 로그?

iPhone Simulator에서 생성 된 충돌 로그가 있습니까?

시뮬레이터는 많이 충돌하지만 콘솔에 흔적을 남기지 않습니다. 충돌 로그가 유용합니다.



답변

콘솔은 NSLog()시뮬레이터에서 실행중인 앱 의 출력을 표시합니다 . 충돌 로그는 파일에 저장됩니다.

내 홈 디렉토리에서 일부를 찾았습니다.

~/Library/Logs/DiagnosticReports/

파일 확장자는 .crash

내가 아직 알아 내지 못한 것은 디버거가 EXC_BAD_ACCESS신호를 잡아도 생성하도록하는 방법입니다.


최신 정보

현재 (OSX 10.11.6) .crash 로그인 은 에뮬레이터 자체가 충돌~/Library/Logs/DiagnosticReports 할 때 발생 합니다. 충돌에 대한 로그 (하지만 에뮬레이터 기기는 여전히 정상적으로 실행 중임)는 다음 위치에 있습니다.

~ / Library / Logs / CoreSimulator

크래시마다 고유 ID가있는 하위 폴더가 있습니다. 최근 충돌이 첫 번째 하위 폴더가되도록 날짜별로 정렬합니다. 그 안에서, stderr.log그리고 system.log.

또한 직접 아래 CoreSimulator를 참조 CoreSimulator.log하고 Simulator.log.


답변

유틸리티에있는 OS X 콘솔 앱에서 이것을 볼 수 있다고 확신합니다. 그래도 내가 틀렸다면 저에게 투표하여 이것을 삭제하십시오.


최신 정보:

특히 (OSX 10.11.6 기준),

에뮬레이터에서 앱이 다운되면 하위 폴더 (고유 ID 포함)가 다음에 추가됩니다.

~ / Library / Logs / CoreSimulator

그 안에서 stderr.logsystem.log.

에뮬레이터 자체 가 충돌하면 하위 폴더가 다음에 추가됩니다.

~ / Library / Logs / DiagnosticReports

이 경로를 혼동하지 마십시오.

/ 라이브러리 / 로그

( ~시작시 부족 ) Mac에 대한 다른 보고서가 있습니다.


답변

특별한 경우에 저에게 도움이 된 것이 있습니다 … 내 앱이 종료 될 때 SIGKILL과 충돌했습니다. 몇 초 동안 main.m에서 예외가 발생하면 앱이 종료되므로 역 추적을 얻을 기회가 없습니다.

나는“시뮬레이터가 크래시 로그를 어디에 저장 하는가”에 대해 많은 검색을했지만 답을 찾지 못했습니다. 그러나 다음 트릭이 매우 편리 해졌고 즉시 충돌 로그를 가져올 수있었습니다.

기본적으로 /Applications/Utilities/CrashReporterPrefs.app을 열고 설정을 “개발자”로 변경합니다. 이렇게하면 앱이 충돌 한 후 CrashReporter가 충돌 로그와 함께 팝업을 표시합니다.

Apple의이 문서에있는 “iOS 시뮬레이터 콘솔 및 충돌 로그보기”섹션에서이를 찾았습니다.
http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ios_development_workflow/125-Using_iOS_Simulator/ios_simulator_application. HTML


답변

이것은 훨씬 더 신뢰할 수 있습니다. 몇 단계만으로 소스 라인 번호와 메소드 이름을 찾을 수있었습니다.

  1. .app 및 .dSYM 파일이있는 디렉토리로 cd
  2. /Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gdb/gdb-arm-apple-darwin MyApp.app/MyApp을 실행합니다.
  3. asm-demangle 인쇄 설정
  4. 기호 파일 이름 인쇄 설정
  5. p / a 0 × 00015c64-> “콘솔”앱에서 충돌 로그를 열거 나 .crash 파일을 두 번 클릭하여 얻은 주소입니다.

답변

충돌 충돌 로그는 ~ / Library / Logs / CrashReporter 아래에 표시됩니다.

  • iPhone 시뮬레이터 프로그램이 충돌하면 (시뮬레이터 내에서 실행중인 iPhone 앱이 아님) iPhoneSimulator에 대한 항목이 있습니다.
  • 시뮬레이터 내의 iPhone 앱이 충돌하면 앱의 표시 이름과 함께 충돌 로그가 나타납니다.

Xcode가 연결된 장치에서 충돌 로그를 가져 오면 ~ / Library / Logs / CrashReporter / MobileDevice의 하위 폴더에 저장됩니다.


답변

저에게는 디버거 감시 창에 추가 한 표현이었습니다. 중단 점이 적중되었을 때 잘못된 표현으로 인해 XCode가 세그 폴트되었습니다.


답변