aboutsummaryrefslogtreecommitdiffstats
path: root/system_cmds/zlog.tproj/SymbolicationHelper.h
diff options
context:
space:
mode:
authorCameron Katri <me@cameronkatri.com>2021-05-09 14:20:58 -0400
committerCameron Katri <me@cameronkatri.com>2021-05-09 14:20:58 -0400
commit5fd83771641d15c418f747bd343ba6738d3875f7 (patch)
tree5abf0f78f680d9837dbd93d4d4c3933bb7509599 /system_cmds/zlog.tproj/SymbolicationHelper.h
downloadapple_cmds-5fd83771641d15c418f747bd343ba6738d3875f7.tar.gz
apple_cmds-5fd83771641d15c418f747bd343ba6738d3875f7.tar.zst
apple_cmds-5fd83771641d15c418f747bd343ba6738d3875f7.zip
Import macOS userland
adv_cmds-176 basic_cmds-55 bootstrap_cmds-116.100.1 developer_cmds-66 diskdev_cmds-667.40.1 doc_cmds-53.60.1 file_cmds-321.40.3 mail_cmds-35 misc_cmds-34 network_cmds-606.40.1 patch_cmds-17 remote_cmds-63 shell_cmds-216.60.1 system_cmds-880.60.2 text_cmds-106
Diffstat (limited to 'system_cmds/zlog.tproj/SymbolicationHelper.h')
-rw-r--r--system_cmds/zlog.tproj/SymbolicationHelper.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/system_cmds/zlog.tproj/SymbolicationHelper.h b/system_cmds/zlog.tproj/SymbolicationHelper.h
new file mode 100644
index 0000000..f9d90c5
--- /dev/null
+++ b/system_cmds/zlog.tproj/SymbolicationHelper.h
@@ -0,0 +1,35 @@
+//
+// SymbolicationHelper.h
+// zlog
+//
+// Created by Rasha Eqbal on 2/26/18.
+//
+
+#ifndef SymbolicationHelper_h
+#define SymbolicationHelper_h
+
+#include <CoreFoundation/CoreFoundation.h>
+#include <CoreSymbolication/CoreSymbolication.h>
+
+/*
+ * Call this function on each address that needs to be symbolicated.
+ *
+ * sym: The CSSymbolicatorRef which will be used for symbolication. For example, to symbolicate
+ * kernel addresses create a CSSymbolicatorRef by calling CSSymbolicatorCreateWithMachKernel().
+ * addr: The address that needs to be symbolicated.
+ * binaryImages: The dictionary that aggregates binary image info for offline symbolication.
+ */
+void PrintSymbolicatedAddress(CSSymbolicatorRef sym, mach_vm_address_t addr, CFMutableDictionaryRef binaryImages);
+
+/*
+ * Call this function to dump binary image info required for offline symbolication.
+ *
+ * binaryImages: The dictionary that stores this info.
+ *
+ * The preferred way to use this is to create a CFMutableDictionaryRef with a call to CFDictionaryCreateMutable()
+ * and pass it in to PrintSymbolicatedAddress() when symbolicating addresses. This will auto-populate the dictionary,
+ * which just needs to be passed in here to print the relevant information.
+ */
+void PrintBinaryImagesInfo(CFMutableDictionaryRef binaryImages);
+
+#endif /* SymbolicationHelper_h */