macOS에서 시스템 진단 파일을 어떻게 얻습니까?


20

충돌 한 (또는 중단 된) 앱을 디버깅하려고합니다. 충돌에서 진단 파일을 얻는 방법은 무엇입니까?

답변:


19

개별 충돌 보고서는 ~ / Library / Logs / CrashReporter에 저장되지만 sysdiagnose 라는 시스템 전체 로그 수집 도구가 있습니다 .

문제가 발생하면 4 개의 제어 키를 누른 상태에서 마침표 "."를 누르십시오. 키. shift+ control+ option+ command+.

약 15 초 후에 sysdiagnose 파일이 강조 표시된 Finder 창이 열립니다.

문제가 발생하면 "shift"+ "control"+ "option"+ "command"키를 누른 다음 마침표 "."를 누르십시오.  키.

이 단축키는 단순히 sysdiagnose명령을 실행 하므로 터미널에 익숙하고 프로세스 ID를 전달하려는 경우 해당 특정 프로그램에 대한 향상된 디버깅 정보를 얻을 수 있습니다. 키 바로 가기는 인수없이 도구를 호출하고 기본 보고서 만 캡처합니다.


커맨드 라인으로 이것을 얻는 방법이 있습니까?
Sidasa

1
~/Library/Logs/CrashReporter.crash파일을 포함하지 않습니다 . 대신 : /Library/Logs/DiagnosticReports~/Library/Logs/DiagnosticReports
그레이엄 페린

sysdiagnose의 핵심 코드는 stackshot 데몬이 실행되는 경우에만 작동합니다. 에서 내 대답launchctl명령은 데몬을 시작합니다.
Graham Perrin

는 IS sysdiagnose또한 명령은 OS 10.6에서 사용할 수있는? 매뉴얼 페이지를 찾지 못해 which sysdiagnoseOS 10.6.8에서 아무것도 반환하지 않거나 명시 적으로 설치해야합니까?
MostlyHarmless

1
@Martin 내 대답은 귀하의 질문을 해결하기 위해 편집됩니다.
Graham Perrin 2016 년

16

애플 시스템 진단

이 쉘 스크립트 (10.8 이하)와 10.9의 동일한 이름으로 실행 가능한 프로그램 :

  • 시스템 전체의 진단 정보를 수집합니다
  • OS X Lion 이상에 필수
  • 별도로 다운로드 할 수 없습니다
  • 오픈 소스가 아닙니다 (애플에게 그렇게 요청했습니다).

sysdiagnose에 대한 키보드 전용 접근 방법 준비

터미널에서 다음 명령을 실행하십시오.

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.stackshot.plist
  • 암호를 묻는 메시지가 나타나면 운영 체제의 관리자 암호를 입력하십시오
  • 그것은 일회성이며 명령을 반복 할 필요가 없습니다.

다음 키 코드를 기록해 두었다가 나중에 필요합니다.

Control- Option- Command- Shift-.

시스템에 의한 진단

문제가 발생했을 때 :

  1. 키 코드를 사용
  2. 최소한 10 초 동안 아무것도 터치하지 마십시오
  3. sysdiagnose루틴 의 모든 부분이 완료 될 때까지 5 분 또는 10 분 정도 소요됩니다. 가능한 한 기다리십시오 (화면에 진행률 표시가 없음).
  4. Finder는 최종 결과에 대한 창을 열어야합니다.

예외적으로

드문 경우지만 문제로 인해 sysdiagnose가 완료되지 않을 수 있습니다 (Apple에 개선 제안을했습니다). 이러한 상황이 발생하면 – 오랫동안 기다렸다 고 확신하는 경우 Mac을 재시동하는 것이 합리적 일 수 있습니다. 그때:

  1. Finder에서 /private/var/tmp
  2. sysdiagnose_로 시작하는 이름의 파일 또는 폴더를 찾으십시오.
  3. 해당 파일 또는 폴더가 존재하는 경우 바탕 화면 등 편리한 위치로 이동하십시오.

힌트

키 코드가 없으면 명령 줄에서 sysdiagnose를 실행할 수 있습니다 (아래 Apple 설명서 페이지 참조). 그러나 코드를 사용하는 것이 더 유용하거나 필요한 경우가 많으므로 준비하십시오.

내가 부주의를 권장하지 않는 동안, 당신은 함께 작은 부주의가 될 수 Control- Option- Command- Shift- .... 당신이 피하기 위해 투쟁 경우 fn노트북에 키를하지 걱정을 할; 실수로 포함하여 실행을 방해해서는 안됩니다 sysdiagnose.


시스템에 의한 인간 진단 분석

힌트 : 누군가 결과 분석에 대해 별도의 질문을하고 싶을 sysdiagnose수 있습니다.보다 일반적인 답변이 유용 할 수 있습니다.

/tmp영역의 sysdiagnose_… 가 파일 인 경우

(A)의 존재 sysdiagnose_….tar.gz파일의 모든 부분을 나타냅니다 sysdiagnose루틴을 완료하고, 그 결과를 보관하고있다. 원하는 경우 보관 파일을 열면 해당 내용이 폴더로 나타납니다.

/tmp영역의 sysdiagnose_… 가 폴더 인 경우

파일이 sysdiagnose_…아닌 폴더의 존재는 다음 .tar.gz중 하나를 나타냅니다.

  • 루틴은 완료 전에 중단되었습니다. 또는
  • 루틴의 일부를 완료 할 수 없습니다.

아카이브 / 폴더 내

일부 파일은 사람이 읽을 수 있으며 문제 해결에 도움이 될 수 있습니다.

다른 파일은 개발자 중심입니다.

관련 :

를 들어 불완전 의 실행 sysdiagnose이 유용 할 수 있습니다 파일에 대한 몇 가지주의를 집중하는 비정상적으로 비 웁니다 ...


기술 및 기타 참고 사항

stackshot (1) OS X 매뉴얼 페이지

sysdiagnose (1) OS X 매뉴얼 페이지

위의 내용 중 일부는 다른 곳에서 볼 수 있는 더 일반적인 답변 입니다.


진단 및 사용 정보, 기타 관심있는 파일

콘솔의 로그 목록에 따라 안내하십시오.

콘솔 사이드 바의 스크린 샷

다음 경로에서 파일을 찾으십시오.

  • ~ / Library / Logs / DiagnosticReports
  • / 라이브러리 / 로그 / DiagnosticReports
  • ~ / 라이브러리 / 로그
  • / 라이브러리 / 로그
  • / private / var / log

2
→ 그레이엄 : 오늘은 + 일입니다. 이런 종류의 도구는 오픈 소스라면 모든 sysadmins 입력에 도움이 될 것이라고 생각합니다.
dan

0

Console

기존 진단 또는 충돌 파일을 찾으려면 콘솔 응용 프로그램을 열고 사용자 보고서 (위치 ~/Library/Logs/DiagnosticReports) 또는 시스템 보고서 (위치 /Library/Logs/DiagnosticReports) 섹션 에서 파일을 찾으십시오 . 참조 : 충돌 로그는 어디서 찾을 수 있습니까?

sysdiagnose

당으로 공식 sysdiagnose지침 맥 OS를 들어, 당신은 트리거 할 수 있습니다 sysdiagnose중 하나를 기준 :

참고 : 위 링크에 액세스하려면 먼저 개발자 Apple 사이트 에 로그인해야합니다 .

  • 다음 키를 동시에 짧게 누릅니다.

    Command- Option- Shift- Control-Period (.)

    그리고 기다려. sysdiagnose프로세스를 완료하는 데 10 분 걸릴 수 있습니다. 완료되면 생성 된 파일을 보여주는 Finder 가 자동으로 나타납니다 /private/var/tmp/(예 :) sysdiagnose_2017.mm.dd_hh-mm-ss-0000_12345.tar.gz.

  • sysdiagnose다음 명령을 입력하여 터미널에서 a 를 트리거하십시오 .

    sudo sysdiagnose
    

코어 덤프

충돌 코어 덤프를 생성하려면 macOS에서 코어 덤프를 생성하는 방법을 참조하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.