mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2026-01-20 19:19:52 +00:00
Update PlCrashReporter to 1.3
This commit is contained in:
Binary file not shown.
@@ -95,7 +95,13 @@ typedef enum {
|
||||
PLCrashReporterErrorCrashReportInvalid = 2,
|
||||
|
||||
/** An attempt to use a resource which was in use at the time in a manner which would have conflicted with the request. */
|
||||
PLCrashReporterErrorResourceBusy = 3
|
||||
PLCrashReporterErrorResourceBusy = 3,
|
||||
|
||||
/** The requested resource could not be found. */
|
||||
PLCRashReporterErrorNotFound = 4,
|
||||
|
||||
/** Allocation failed. */
|
||||
PLCRashReporterErrorInsufficientMemory = 4
|
||||
} PLCrashReporterError;
|
||||
|
||||
|
||||
|
||||
@@ -52,6 +52,12 @@
|
||||
# define PLCR_CPP_BEGIN_NS namespace plcrash {
|
||||
# define PLCR_CPP_END_NS }
|
||||
# endif
|
||||
#
|
||||
/** @internal Define the plcrash::async namespace, automatically inserting an inline namespace containing the configured PLCRASHREPORTER_PREFIX, if any. */
|
||||
# define PLCR_CPP_BEGIN_ASYNC_NS PLCR_CPP_BEGIN_NS namespace async {
|
||||
|
||||
/** @internal Close the definition of the `plcrash::async` namespace (and the PLCRASHREPORTER_PREFIX inline namespace, if any). */
|
||||
# define PLCR_CPP_END_ASYNC_NS PLCR_CPP_END_NS }
|
||||
#endif
|
||||
|
||||
#ifdef __clang__
|
||||
@@ -60,12 +66,56 @@
|
||||
# define PLCR_PRAGMA_CLANG(_p)
|
||||
#endif
|
||||
|
||||
#ifdef __clang__
|
||||
# define PLCR_DEPRECATED __attribute__((deprecated))
|
||||
#else
|
||||
# define PLCR_DEPRECATED
|
||||
#endif
|
||||
|
||||
#if defined(__clang__) || defined(__GNUC__)
|
||||
# define PLCR_UNUSED __attribute__((unused))
|
||||
#else
|
||||
# define PLCR_UNUSED
|
||||
#endif
|
||||
|
||||
#ifdef PLCR_PRIVATE
|
||||
/**
|
||||
* Marks a definition as deprecated only for for external clients, allowing
|
||||
* uses of it internal fo the framework.
|
||||
*/
|
||||
#define PLCR_EXTERNAL_DEPRECATED
|
||||
|
||||
/**
|
||||
* @internal
|
||||
* A macro to put above a definition marked PLCR_EXTERNAL_DEPRECATED that will
|
||||
* silence warnings about there being a deprecation documentation marker but the
|
||||
* definition not being marked deprecated.
|
||||
*/
|
||||
# define PLCR_EXTERNAL_DEPRECATED_NOWARN_PUSH() \
|
||||
PLCR_PRAGMA_CLANG("clang diagnostic push"); \
|
||||
PLCR_PRAGMA_CLANG("clang diagnostic ignored \"-Wdocumentation-deprecated-sync\"")
|
||||
|
||||
/**
|
||||
* @internal
|
||||
* A macro to put below a definition marked PLCR_EXTERNAL_DEPRECATED that will
|
||||
* silence warnings about there being a deprecation documentation marker but the
|
||||
* definition not being marked deprecated.
|
||||
*/
|
||||
# define PLCR_EXTERNAL_DEPRECATED_NOWARN_POP() PLCR_PRAGMA_CLANG("clang diagnostic pop")
|
||||
#else
|
||||
# define PLCR_EXTERNAL_DEPRECATED PLCR_DEPRECATED
|
||||
# define PLCR_EXTERNAL_DEPRECATED_NOWARN_PUSH()
|
||||
# define PLCR_EXTERNAL_DEPRECATED_NOWARN_PUSH()
|
||||
#endif /* PLCR_PRIVATE */
|
||||
|
||||
#ifdef PLCR_PRIVATE
|
||||
# if defined(__clang__) && __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough")
|
||||
# define PLCR_FALLTHROUGH [[clang::fallthrough]]
|
||||
# else
|
||||
# define PLCR_FALLTHROUGH do {} while (0)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef PLCR_PRIVATE
|
||||
/**
|
||||
* @internal
|
||||
|
||||
@@ -247,8 +247,8 @@
|
||||
#define plcrash_nasync_image_list_free PLNS(plcrash_nasync_image_list_free)
|
||||
#define plcrash_nasync_image_list_init PLNS(plcrash_nasync_image_list_init)
|
||||
#define plcrash_nasync_image_list_remove PLNS(plcrash_nasync_image_list_remove)
|
||||
#define plcrash_nasync_macho_free PLNS(plcrash_nasync_macho_free)
|
||||
#define plcrash_nasync_macho_init PLNS(plcrash_nasync_macho_init)
|
||||
#define plcrash_async_macho_free PLNS(plcrash_async_macho_free)
|
||||
#define plcrash_async_macho_init PLNS(plcrash_async_macho_init)
|
||||
#define plcrash_populate_error PLNS(plcrash_populate_error)
|
||||
#define plcrash_populate_mach_error PLNS(plcrash_populate_mach_error)
|
||||
#define plcrash_populate_posix_error PLNS(plcrash_populate_posix_error)
|
||||
|
||||
@@ -27,6 +27,8 @@
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#include "PLCrashMacros.h"
|
||||
@class PLCrashReportProcessorInfo;
|
||||
|
||||
/**
|
||||
* @ingroup constants
|
||||
@@ -55,7 +57,7 @@ typedef enum {
|
||||
*
|
||||
* Indicates the architecture under which a Crash Log was generated.
|
||||
*
|
||||
* @deprecated The architecture value has been deprecated in v1.1 and later crash reports. All new reports
|
||||
* @note The architecture value has been deprecated in v1.1 and later crash reports. All new reports
|
||||
* will make use of the new PLCrashReportProcessorInfo CPU type encodings.
|
||||
*
|
||||
* @internal
|
||||
@@ -77,7 +79,7 @@ typedef enum {
|
||||
* values.
|
||||
* @sa PLCrashReportArchitectureARMv6
|
||||
*/
|
||||
PLCrashReportArchitectureARM = PLCrashReportArchitectureARMv6,
|
||||
PLCrashReportArchitectureARM PLCR_DEPRECATED = PLCrashReportArchitectureARMv6,
|
||||
|
||||
/** PPC */
|
||||
PLCrashReportArchitecturePPC = 3,
|
||||
@@ -94,7 +96,9 @@ typedef enum {
|
||||
|
||||
|
||||
extern PLCrashReportOperatingSystem PLCrashReportHostOperatingSystem;
|
||||
extern PLCrashReportArchitecture PLCrashReportHostArchitecture;
|
||||
PLCR_EXTERNAL_DEPRECATED_NOWARN_PUSH();
|
||||
extern PLCrashReportArchitecture PLCrashReportHostArchitecture PLCR_EXTERNAL_DEPRECATED;
|
||||
PLCR_EXTERNAL_DEPRECATED_NOWARN_PUSH();
|
||||
|
||||
@interface PLCrashReportSystemInfo : NSObject {
|
||||
@private
|
||||
@@ -112,17 +116,27 @@ extern PLCrashReportArchitecture PLCrashReportHostArchitecture;
|
||||
|
||||
/** Date crash report was generated. May be nil if the date is unknown. */
|
||||
NSDate *_timestamp;
|
||||
|
||||
/** Processor information. */
|
||||
PLCrashReportProcessorInfo *_processorInfo;
|
||||
}
|
||||
|
||||
- (id) initWithOperatingSystem: (PLCrashReportOperatingSystem) operatingSystem
|
||||
operatingSystemVersion: (NSString *) operatingSystemVersion
|
||||
architecture: (PLCrashReportArchitecture) architecture
|
||||
timestamp: (NSDate *) timestamp;
|
||||
timestamp: (NSDate *) timestamp PLCR_DEPRECATED;
|
||||
|
||||
- (id) initWithOperatingSystem: (PLCrashReportOperatingSystem) operatingSystem
|
||||
operatingSystemVersion: (NSString *) operatingSystemVersion
|
||||
operatingSystemBuild: (NSString *) operatingSystemBuild
|
||||
architecture: (PLCrashReportArchitecture) architecture
|
||||
timestamp: (NSDate *) timestamp PLCR_DEPRECATED;
|
||||
|
||||
- (id) initWithOperatingSystem: (PLCrashReportOperatingSystem) operatingSystem
|
||||
operatingSystemVersion: (NSString *) operatingSystemVersion
|
||||
operatingSystemBuild: (NSString *) operatingSystemBuild
|
||||
architecture: (PLCrashReportArchitecture) architecture
|
||||
processorInfo: (PLCrashReportProcessorInfo *) processorInfo
|
||||
timestamp: (NSDate *) timestamp;
|
||||
|
||||
/** The operating system. */
|
||||
@@ -137,9 +151,13 @@ extern PLCrashReportArchitecture PLCrashReportHostArchitecture;
|
||||
/** Architecture. @deprecated The architecture value has been deprecated in v1.1 and later crash reports. All new reports
|
||||
* include the CPU type as part of the crash report's machine info structure, using the PLCrashReportProcessorInfo
|
||||
* extensible encoding. */
|
||||
@property(nonatomic, readonly) PLCrashReportArchitecture architecture;
|
||||
@property(nonatomic, readonly) PLCrashReportArchitecture architecture PLCR_DEPRECATED;
|
||||
|
||||
/** Date and time that the crash report was generated. This may be unavailable, and this property will be nil. */
|
||||
@property(nonatomic, readonly) NSDate *timestamp;
|
||||
|
||||
/** The processor type. For v1.2 reports and later, this is an alias to the machine info's processorInfo.
|
||||
* For earlier reports, this will be synthesized from the deprecated architecture property. */
|
||||
@property(nonatomic, readonly) PLCrashReportProcessorInfo *processorInfo;
|
||||
|
||||
@end
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#import <mach/mach.h>
|
||||
|
||||
#import "PLCrashReporterConfig.h"
|
||||
#import "PLCrashMacros.h"
|
||||
|
||||
@class PLCrashMachExceptionServer;
|
||||
@class PLCrashMachExceptionPortSet;
|
||||
@@ -44,7 +45,7 @@
|
||||
* @param uap The crash's threads context.
|
||||
* @param context The API client's supplied context value.
|
||||
*
|
||||
* @sa @ref async_safety
|
||||
* @sa The @ref async_safety documentation.
|
||||
* @sa PLCrashReporter::setPostCrashCallbacks:
|
||||
*/
|
||||
typedef void (*PLCrashReporterPostCrashSignalCallback)(siginfo_t *info, ucontext_t *uap, void *context);
|
||||
@@ -55,7 +56,7 @@ typedef void (*PLCrashReporterPostCrashSignalCallback)(siginfo_t *info, ucontext
|
||||
* This structure contains callbacks supported by PLCrashReporter to allow the host application to perform
|
||||
* additional tasks prior to program termination after a crash has occured.
|
||||
*
|
||||
* @sa @ref async_safety
|
||||
* @sa The @ref async_safety documentation.
|
||||
*/
|
||||
typedef struct PLCrashReporterCallbacks {
|
||||
/** The version number of this structure. If not one of the defined version numbers for this type, the behavior
|
||||
@@ -87,7 +88,7 @@ typedef struct PLCrashReporterCallbacks {
|
||||
|
||||
/** YES if the crash reporter has been enabled */
|
||||
BOOL _enabled;
|
||||
|
||||
|
||||
#if PLCRASH_FEATURE_MACH_EXCEPTIONS
|
||||
/** The backing Mach exception server, if any. Nil if the reporter has not been enabled, or if
|
||||
* the configured signal handler type is not PLCrashReporterSignalHandlerTypeMach. */
|
||||
@@ -110,7 +111,7 @@ typedef struct PLCrashReporterCallbacks {
|
||||
NSString *_crashReportDirectory;
|
||||
}
|
||||
|
||||
+ (PLCrashReporter *) sharedReporter;
|
||||
+ (PLCrashReporter *) sharedReporter PLCR_DEPRECATED;
|
||||
|
||||
- (instancetype) initWithConfiguration: (PLCrashReporterConfig *) config;
|
||||
|
||||
@@ -121,9 +122,11 @@ typedef struct PLCrashReporterCallbacks {
|
||||
|
||||
- (NSData *) generateLiveReportWithThread: (thread_t) thread;
|
||||
- (NSData *) generateLiveReportWithThread: (thread_t) thread error: (NSError **) outError;
|
||||
- (NSData *) generateLiveReportWithThread: (thread_t) thread exception: (NSException *) exception error: (NSError **) outError;
|
||||
|
||||
- (NSData *) generateLiveReport;
|
||||
- (NSData *) generateLiveReportAndReturnError: (NSError **) outError;
|
||||
- (NSData *) generateLiveReportWithException: (NSException *) exception error: (NSError **) outError;
|
||||
|
||||
- (BOOL) purgePendingCrashReport;
|
||||
- (BOOL) purgePendingCrashReportAndReturnError: (NSError **) outError;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildMachineOSBuild</key>
|
||||
<string>14F27</string>
|
||||
<string>15G1004</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
@@ -27,16 +27,16 @@
|
||||
<key>DTCompiler</key>
|
||||
<string>com.apple.compilers.llvm.clang.1_0</string>
|
||||
<key>DTPlatformBuild</key>
|
||||
<string>7A220</string>
|
||||
<string>7D1014</string>
|
||||
<key>DTPlatformVersion</key>
|
||||
<string>GM</string>
|
||||
<key>DTSDKBuild</key>
|
||||
<string>15A278</string>
|
||||
<string>15E60</string>
|
||||
<key>DTSDKName</key>
|
||||
<string>macosx10.11</string>
|
||||
<key>DTXcode</key>
|
||||
<string>0700</string>
|
||||
<string>0731</string>
|
||||
<key>DTXcodeBuild</key>
|
||||
<string>7A220</string>
|
||||
<string>7D1014</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
Reference in New Issue
Block a user