std::terminate in iOS Objective C++;Crashlytics应用程序 我有一个iOS应用程序,它使用Objj++和一些C++ C++库,应用程序使用CRASHLICS来跟踪可能的用户崩溃。 Pr> CRASHYTICS愉快地处理来自于目标C Land的所有异常,这在过去对我有很多帮助来追踪问题,我希望在C++端得到相同类型的崩溃日志,无论何时抛出任何东西。

std::terminate in iOS Objective C++;Crashlytics应用程序 我有一个iOS应用程序,它使用Objj++和一些C++ C++库,应用程序使用CRASHLICS来跟踪可能的用户崩溃。 Pr> CRASHYTICS愉快地处理来自于目标C Land的所有异常,这在过去对我有很多帮助来追踪问题,我希望在C++端得到相同类型的崩溃日志,无论何时抛出任何东西。,c++,ios,crashlytics,objective-c++,google-fabric,C++,Ios,Crashlytics,Objective C++,Google Fabric,不幸的是,当调用std::exception时,Crashlytics中得到的只是一个不包含原点的通用堆栈跟踪,这无助于解决这些问题,也无助于任何std异常都进入相同的一刀切累积“崩溃”类型 我可以捕获这些异常并以某种方式重定向它们,使它们出现在目标C的旁边吗 我正在尝试这方面的东西,但我似乎无法让它工作,同时保持Crashlytics在相同的工作状态,我遗漏了什么吗 我考虑的另一个可能的解决方案是捕捉C++异常,并使用CRASHISTICS本身作为错误记录它们,然后从包装器中重新丢弃它们。

不幸的是,当调用std::exception时,Crashlytics中得到的只是一个不包含原点的通用堆栈跟踪,这无助于解决这些问题,也无助于任何std异常都进入相同的一刀切累积“崩溃”类型

我可以捕获这些异常并以某种方式重定向它们,使它们出现在目标C的旁边吗

我正在尝试这方面的东西,但我似乎无法让它工作,同时保持Crashlytics在相同的工作状态,我遗漏了什么吗

我考虑的另一个可能的解决方案是捕捉C++异常,并使用CRASHISTICS本身作为错误记录它们,然后从包装器中重新丢弃它们。

未处理C++异常后的堆栈跟踪:

Crashed: com.twitter.crashlytics.ios.exception
0  MyApp                          0x100d9baac CLSProcessRecordAllThreads + 4312709804
1  MyApp                          0x100d9baac CLSProcessRecordAllThreads + 4312709804
2  MyApp                          0x100d9b968 CLSProcessRecordAllThreads + 4312709480
3  MyApp                          0x100d8b6b8 CLSHandler + 4312643256
4  MyApp                          0x100d99ac4 __CLSExceptionRecord_block_invoke + 4312701636
5  libdispatch.dylib              0x182556a14 _dispatch_client_callout + 16
6  libdispatch.dylib              0x18255f618 _dispatch_queue_barrier_sync_invoke_and_complete + 56
7  MyApp                          0x100d99558 CLSExceptionRecord + 4312700248
8  MyApp                          0x100d99068 CLSTerminateHandler() + 4312698984
9  libc++abi.dylib                0x181e0f54c std::__terminate(void (*)()) + 16
10 libc++abi.dylib                0x181e0f5b8 std::terminate() + 60
11 libobjc.A.dylib                0x181e2076c _destroyAltHandlerList + 10
12 libdispatch.dylib              0x182556a28 _dispatch_client_callout + 36
13 libdispatch.dylib              0x18255e200 _dispatch_block_invoke_direct$VARIANT$mp + 288
14 FrontBoardServices             0x1852d27f8 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 36
15 FrontBoardServices             0x1852d249c -[FBSSerialQueue _performNext] + 404
16 FrontBoardServices             0x1852d2a38 -[FBSSerialQueue _performNextFromRunLoopSource] + 56
17 CoreFoundation                 0x182b8297c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
18 CoreFoundation                 0x182b828fc __CFRunLoopDoSource0 + 88
19 CoreFoundation                 0x182b82184 __CFRunLoopDoSources0 + 204
20 CoreFoundation                 0x182b7fd5c __CFRunLoopRun + 1048
21 CoreFoundation                 0x182a9fe58 CFRunLoopRunSpecific + 436
22 GraphicsServices               0x18494cf84 GSEventRunModal + 100
23 UIKit                          0x18c11f67c UIApplicationMain + 236
24 MyApp                          0x100cec768 main (main.m:14)
25 libdyld.dylib                  0x1825bc56c start + 4