@@ -352,6 +352,14 @@ strings, rather than as numbers, in order to avoid representational issues.
352
352
Additionally, boolean fields that are ``false ``, as well as fields whose
353
353
values are unknown or empty, will normally be completely omitted to save space.
354
354
355
+ Where hexadecimal *values * are output, they will normally be prefixed with
356
+ a ``0x `` prefix. Hexadecimal *data *, by contrast, such as captured memory or
357
+ build IDs, will not have a prefix and will be formatted as a string with no
358
+ whitespace.
359
+
360
+ Note that since JSON does not officially support hexadecimal, hexadecimal
361
+ values will always be output as strings.
362
+
355
363
JSON crash logs will always contain the following top level fields:
356
364
357
365
+-------------------+--------------------------------------------------------+
@@ -374,34 +382,33 @@ JSON crash logs will always contain the following top level fields:
374
382
+-------------------+--------------------------------------------------------+
375
383
| architecture | The name of the processor architecture for this crash. |
376
384
+-------------------+--------------------------------------------------------+
385
+ | threads | An array of thread records, one for each thread. |
386
+ +-------------------+--------------------------------------------------------+
377
387
378
388
These will be followed by some or all of the following, according to the
379
389
backtracer settings:
380
390
381
391
+-------------------+--------------------------------------------------------+
382
392
| Field | Value |
383
393
+===================+========================================================+
384
- | threads | An array of thread records, one for each thread (if the |
385
- | | backtracer is set to give backtraces for all threads). |
386
- +-------------------+--------------------------------------------------------+
387
- | crashedThread | A single thread record for the crashing thread (if the |
388
- | | backtracer is set to give a backtrace only for the |
389
- | | crashed thread). |
390
- +-------------------+--------------------------------------------------------+
391
- | registers | A dictionary containing the register contents on the |
392
- | | crashed thread (if set to give registers for only the |
393
- | | crashed thread). |
394
- | | |
395
- | | The dictionary is keyed by architecture specific |
396
- | | register name; values are given as hexadecimal |
397
- | | strings. |
394
+ | omittedThreads | A count of the number of threads that were omitted, if |
395
+ | | the backtracer is set to give a backtrace only for the |
396
+ | | crashed thread. Omitted if zero. |
398
397
+-------------------+--------------------------------------------------------+
399
398
| capturedMemory | A dictionary containing captured memory contents, if |
400
399
| | any. This will not be present if the ``sanitize `` |
401
400
| | setting is enabled, or if no data was captured. |
402
401
| | |
403
402
| | The dictionary is keyed by hexadecimal addresses, as |
404
- | | strings; values are also hexadecimal strings. |
403
+ | | strings (with a ``0x `` prefix); the captured data is |
404
+ | | also given as a hexadecimal string, but with no prefix |
405
+ | | and no inter-byte whitespace. |
406
+ | | |
407
+ | | You should make no assumptions about the number of |
408
+ | | bytes captured at each address; the backtracer will |
409
+ | | currently attempt to grab 16 bytes, but this may |
410
+ | | change if only a shorter range is available or in |
411
+ | | future according to configuration parameters. |
405
412
+-------------------+--------------------------------------------------------+
406
413
| omittedImages | If ``images `` is set to ``mentioned ``, this is an |
407
414
| | integer giving the number of images whose details were |
@@ -427,8 +434,16 @@ A thread record is a dictionary with the following fields:
427
434
| crashed | ``true `` if the thread is the one that crashed, |
428
435
| | omitted otherwise. |
429
436
+-------------------+--------------------------------------------------------+
430
- | registers | If ``registers `` is set to ``all ``, the registers for |
431
- | | the thread (see above for the format). |
437
+ | registers | A dictionary containing the register contents on the |
438
+ | | crashed thread. |
439
+ | | |
440
+ | | The dictionary is keyed by architecture specific |
441
+ | | register name; values are given as hexadecimal |
442
+ | | strings (with a ``0x `` prefix). |
443
+ | | |
444
+ | | This field may be omitted for threads other than the |
445
+ | | crashed thread, if the ``registers `` setting is set |
446
+ | | to ``crashed ``. |
432
447
+-------------------+--------------------------------------------------------+
433
448
| frames | An array of frames forming the backtrace for the |
434
449
| | thread. |
@@ -514,7 +529,8 @@ An image record is a dictionary with the following fields:
514
529
| name | The name of the image (omitted if not known). |
515
530
+-------------------+--------------------------------------------------------+
516
531
| buildId | The build ID (aka unique ID) of the image (omitted if |
517
- | | not known). |
532
+ | | not known). Build IDs are formatted as un-prefixed |
533
+ | | hexadecimal strings, with no inter-byte whitespace. |
518
534
+-------------------+--------------------------------------------------------+
519
535
| path | The path to the image (omitted if not known). |
520
536
+-------------------+--------------------------------------------------------+
0 commit comments