From 76f720cb710d2b7acfb643fb9801e513d740b2ba Mon Sep 17 00:00:00 2001 From: Nico Verbruggen Date: Fri, 4 Feb 2022 18:24:56 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20Updated=20README?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DEVS.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ README.md | 47 +---------------------------------------------- 2 files changed, 47 insertions(+), 46 deletions(-) create mode 100644 DEVS.md diff --git a/DEVS.md b/DEVS.md new file mode 100644 index 0000000..e97b238 --- /dev/null +++ b/DEVS.md @@ -0,0 +1,46 @@ +# README for interested developers + +## 🔧 Build instructions + +build button in Xcode + +If you'd like to build PHP Monitor yourself, you need: + +* Xcode (usually the latest version) +* The contents of this repository + +Once you have downloaded this repository, open `PHP Monitor.xcodeproj`, and you should be able to immediately build the app for your system by pressing Cmd-R. This will create a debug build. (If Xcode complains about code signing, you can turn it off.) + +If you'd like to create a production build, choose "Any Mac" as the target and select Product > Archive. + +## 🐛 Symbolication of crashes + +If you have an archived build of the app and exported the DSYM, it is possible to symbolicate .ips crash logs. + +For example, given the following crash (from an .ips file): + +``` +Thread 2 Crashed:: Dispatch queue: com.apple.root.user-initiated-qos +0 libswiftDispatch.dylib 0x7ff82aa3ab8c static OS_dispatch_source.makeProcessSource(identifier:eventMask:queue:) + 28 +1 PHP Monitor 0x1096907d8 0x10965e000 + 206808 + | | + address load address +2 PHP Monitor 0x1096903ac 0x10965e000 + 205740 +3 PHP Monitor 0x10968f88b 0x10965e000 + 202891 +``` + +You must use the correct order for the the address and load address in the command below: + +``` +$ atos -arch x86_64 -o '/path/to/PHP Monitor.app.dSYM/Contents/Resources/DWARF/PHP Monitor' -l 0x10965e000 0x1096907d8 + | | | | + architecture path to DSYM load address address +``` + +This will return the relevant information, for example: + +``` +FSWatcher.startMonitoring(_:behaviour:) (in PHP Monitor) (PhpConfigWatcher.swift:95) +``` + +For more information, see [Apple's documentation](https://developer.apple.com/documentation/xcode/adding-identifiable-symbol-names-to-a-crash-report). diff --git a/README.md b/README.md index e2312e8..0b03a19 100644 --- a/README.md +++ b/README.md @@ -399,49 +399,4 @@ I have done my best to annotate as much as humanly possible, and have avoided us I also have a few tests for key parts of the application that I found needed to be tested. In the future, I would like to add even more tests for some of the UI stuff, but for now the tests are more unit tests than feature tests. -## 🔧 Build instructions - -build button in Xcode - -If you'd like to build PHP Monitor yourself, you need: - -* Xcode (usually the latest version) -* The contents of this repository - -Once you have downloaded this repository, open `PHP Monitor.xcodeproj`, and you should be able to immediately build the app for your system by pressing Cmd-R. This will create a debug build. (If Xcode complains about code signing, you can turn it off.) - -If you'd like to create a production build, choose "Any Mac" as the target and select Product > Archive. - -## 🐛 Symbolication of crashes - -_Hello there, visitor. This is advanced stuff for app developers who are interested in figuring out why the app crashed when no debugger was attached._ - -If you have an archived build of the app and exported the DSYM, it is possible to symbolicate .ips crash logs. - -For example, given the following crash (from an .ips file): - -``` -Thread 2 Crashed:: Dispatch queue: com.apple.root.user-initiated-qos -0 libswiftDispatch.dylib 0x7ff82aa3ab8c static OS_dispatch_source.makeProcessSource(identifier:eventMask:queue:) + 28 -1 PHP Monitor 0x1096907d8 0x10965e000 + 206808 - | | - address load address -2 PHP Monitor 0x1096903ac 0x10965e000 + 205740 -3 PHP Monitor 0x10968f88b 0x10965e000 + 202891 -``` - -You must use the correct order for the the address and load address in the command below: - -``` -$ atos -arch x86_64 -o '/path/to/PHP Monitor.app.dSYM/Contents/Resources/DWARF/PHP Monitor' -l 0x10965e000 0x1096907d8 - | | | - architecture path to DSYM address from trace -``` - -This will return the relevant information, for example: - -``` -FSWatcher.startMonitoring(_:behaviour:) (in PHP Monitor) (PhpConfigWatcher.swift:95) -``` - -For more information, see [Apple's documentation](https://developer.apple.com/documentation/xcode/adding-identifiable-symbol-names-to-a-crash-report). +For more detailed information for developers, please see [the documentation file for developers](./DEVS.md). \ No newline at end of file