Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Device Crash Logs for Xamarin.iOS

I have a customer in a different location testing our software using "Ad-Hoc" deployments. His app is crashing and I can't reproduce it. He has given me the crash logs from XCode's Organizer, but I can't figuire out how to relate them to my c#/Xamarin solution.

Here is the log of the thread (UI thread) that crashed.

Thread 0 Crashed:
0   libsystem_kernel.dylib          0x385541fc __pthread_kill + 8
1   libsystem_pthread.dylib         0x385bda2e pthread_kill + 54
2   libsystem_c.dylib               0x38504ff8 abort + 72
3   MedXChangeiOS                   0x008c8690 0x7a000 + 8709776
4   MedXChangeiOS                   0x008d906e 0x7a000 + 8777838
5   MedXChangeiOS                   0x0027a0c2 0x7a000 + 2097346
6   libsystem_platform.dylib        0x385b8060 _sigtramp + 40
7   libsystem_pthread.dylib         0x385bda2e pthread_kill + 54
8   libsystem_c.dylib               0x38504ff8 abort + 72
9   MedXChangeiOS                   0x0093faac 0x7a000 + 9198252
10  MedXChangeiOS                   0x008c8a48 0x7a000 + 8710728
11  MedXChangeiOS                   0x008e38b2 0x7a000 + 8820914
12  MedXChangeiOS                   0x008c825e 0x7a000 + 8708702
13  MedXChangeiOS                   0x008c7a1a 0x7a000 + 8706586
14  MedXChangeiOS                   0x008b32ce 0x7a000 + 8622798
15  ???                             0x1793ee04 0 + 395570692
16  MedXChangeiOS                   0x0030eca0 0x7a000 + 2706592
17  MedXChangeiOS                   0x0030ec44 0x7a000 + 2706500
18  MedXChangeiOS                   0x003157ec 0x7a000 + 2734060
19  MedXChangeiOS                   0x002c9fec 0x7a000 + 2424812
20  MedXChangeiOS                   0x002c95a8 0x7a000 + 2422184
21  MedXChangeiOS                   0x002c74c0 0x7a000 + 2413760
22  MedXChangeiOS                   0x002cfd14 0x7a000 + 2448660
23  MedXChangeiOS                   0x0032a200 0x7a000 + 2818560
24  MedXChangeiOS                   0x0034e460 0x7a000 + 2966624
25  UIKit                           0x300f0542 -[UIWindowController transitionViewDidComplete:fromView:toView:removeFromView:] + 1910
26  UIKit                           0x300efcf6 __101-[UIWindowController transition:fromViewController:toViewController:target:didEndSelector:animation:]_block_invoke293 + 166
27  UIKit                           0x300efc20 -[_UIViewControllerTransitionContext completeTransition:] + 72
28  UIKit                           0x300efb08 -[UITransitionView notifyDidCompleteTransition:] + 284
29  UIKit                           0x300ef610 -[UITransitionView _didCompleteTransition:] + 940
30  UIKit                           0x30010c32 -[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 174
31  UIKit                           0x30010b4a -[UIViewAnimationState animationDidStop:finished:] + 66
32  QuartzCore                      0x2fc68d04 CA::Layer::run_animation_callbacks(void*) + 228
33  libdispatch.dylib               0x38478d64 _dispatch_client_callout + 20
34  libdispatch.dylib               0x3847f7bc _dispatch_main_queue_callback_4CF$VARIANT$mp + 264
35  CoreFoundation                  0x2d83281c __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 4
36  CoreFoundation                  0x2d8310f0 __CFRunLoopRun + 1296
37  CoreFoundation                  0x2d79bce2 CFRunLoopRunSpecific + 518
38  CoreFoundation                  0x2d79bac6 CFRunLoopRunInMode + 102
39  GraphicsServices                0x3248927e GSEventRunModal + 134
40  UIKit                           0x3003da3c UIApplicationMain + 1132
41  MedXChangeiOS                   0x0034a4a4 0x7a000 + 2950308
42  MedXChangeiOS                   0x002feacc 0x7a000 + 2640588
43  MedXChangeiOS                   0x0029a82c 0x7a000 + 2230316
44  MedXChangeiOS                   0x004c8d50 0x7a000 + 4517200
45  MedXChangeiOS                   0x008e2f5a 0x7a000 + 8818522
46  MedXChangeiOS                   0x008f3312 0x7a000 + 8885010
47  MedXChangeiOS                   0x008f70a0 0x7a000 + 8900768
48  MedXChangeiOS                   0x008f6ee0 0x7a000 + 8900320
49  MedXChangeiOS                   0x008ad724 0x7a000 + 8599332
50  MedXChangeiOS                   0x0092ffe8 0x7a000 + 9134056
51  MedXChangeiOS                   0x0029a7e0 0x7a000 + 2230240

For the application MedXChangeiOS, how do I figure out the class/method/line?

like image 651
Paul Knopf Avatar asked Oct 18 '13 13:10

Paul Knopf


1 Answers

You need the dSYM directory for the build your customer has.

When you build a release build, Xamarin.iOS will automatically create a YourApp.app.dSYM directory next to your YourApp.app directory. When you send a build to your customer you must save this directory somewhere on your machine (the next time you build your app the dSYM directory will be overwritten) [1]

Later, when you get the crash report from your customer, you can run the symbolicatecrash script from Apple to convert memory addresses into function names and line numbers. [2]

[1] The Build->Archive command does this automatically.
[2] The exact location varies between Xcode releases, but it's somewhere inside your Xcode.app.

like image 133
Rolf Bjarne Kvinge Avatar answered Nov 01 '22 08:11

Rolf Bjarne Kvinge