简体   繁体   中英

How to read/translate macOS 12 (Monterey) .ips crash files?

Starting in macOS 12 (Monterey), the system apparently writes crash file as .ips files, instead of the traditional .crash file format.

The file appears to contain JSON data:

{"app_name":"Helper","timestamp":"2021-10-30 18:49:32.00 +0100","app_version":"3.0.0(66) beta","slice_uuid":"673198dd-94ac-31a7-9e81-09fe6c781255","build_version":"3.0.0.66","platform":1,"bundleID":"com.dislt.helper","share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"macOS 12.0.1 (21A559)","incident_id":"CC03C2EC-C1D4-4F6E-AA1F-6C4EC555D6B8","name":"Helper"}
{
  "uptime" : 91000,
  "procLaunch" : "2021-10-30 18:49:29.7791 +0100",
  "procRole" : "Unspecified",
  "version" : 2,
  "userID" : 501,
  "deployVersion" : 210,
  "modelCode" : "MacBookPro14,3",
  "procStartAbsTime" : 91844701503187,
  "coalitionID" : 1244,
  "osVersion" : {
    "train" : "macOS 12.0.1",
    "build" : "21A559",
    "releaseType" : "User"
  },
  "captureTime" : "2021-10-30 18:49:32.4572 +0100",
  "incident" : "92A89610-D70A-4D93-A974-A9018BB5C72A",
  "bug_type" : "309",
  "pid" : 77765,
  "procExitAbsTime" : 91847378271126,
  "cpuType" : "X86-64",
  "procName" : "Helper",
  ...

When I preview the file or open it in the Console app, a traditional crash report is automatically generated:

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               Helper [77765]
Path:                  /Users/USER/Library/Application Support/Helper.app/Contents/MacOS/Helper
Identifier:            com.distl.helper
Version:               3.0.0(66) beta (3.0.0.66)
Code Type:             X86-64 (Native)
Parent Process:        TestBead [77726]
Responsible:           TestBead [77726]
User ID:               501

Date/Time:             2021-10-30 18:49:32.4572 +0100
OS Version:            macOS 12.0.1 (21A559)
Report Version:        12
Bridge OS Version:     3.0 (14Y908)
Anonymous UUID:        CC03C2EC-C1D4-4F6E-AA1F-6C4EC555D6B8


Time Awake Since Boot: 91000 seconds

System Integrity Protection: enabled

Crashed Thread:        1  Dispatch queue: com.apple.NSXPCConnection.user.anonymous.77726

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x00007f780071a000
Exception Codes:       0x0000000000000001, 0x00007f780071a000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    Namespace SIGNAL, Code 11 Segmentation fault: 11
Terminating Process:   exc handler [77765]
...

I have customer support and development tools that scan these crash report files automatically, and I'd like to find out if there's a way to automate the translation of the JSON data back into the traditional crash report format?

I'd like to do this to (a) avoid rewriting my crash report scanning tools (although that wouldn't be impossible), and (b) automatically translate these files into a human readable format, without resorting to opening the file in the Console app.

I've run into the same problem. I haven't tried it myself yet, but someone has already created an ips2crash command available at GitHub . As the name implies, it should convert an .ips file to the (now) legacy crash report format.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM