Как показать мой исходный код в трассировке стека для приложения Xamarin для iOS? - PullRequest
0 голосов
/ 03 мая 2018

Мое приложение Xamarin для iOS вылетает с ошибкой «нераспознанный селектор отправлен в экземпляр ...», но ни трассировка стека, ни стек вызовов не содержат никакой полезной информации о том, где может быть проблема в моем исходном коде. Я использую Visual Studio для Mac, и приложение работает на симуляторе iOS. Есть ли какие-либо параметры, которые необходимо включить, чтобы показать мой исходный код в трассировке стека?

Unhandled Exception:
Foundation.MonoTouchException: Objective-C exception thrown.  Name: NSInvalidArgumentException Reason: -[NSObject doesNotRecognizeSelector]: unrecognized selector sent to instance 0x600000016d80
Native stack trace:
    0   CoreFoundation                      0x000000010579e12b __exceptionPreprocess + 171
    1   libobjc.A.dylib                     0x00000001066d8f41 objc_exception_throw + 48
    2   CoreFoundation                      0x000000010581f024 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132
    3   CoreFoundation                      0x0000000105720f78 ___forwarding___ + 1432
    4   CoreFoundation                      0x0000000105720958 _CF_forwarding_prep_0 + 120
    5   Foundation                          0x0000000103997f35 __NSFireDelayedPerform + 409
    6   CoreFoundation                      0x000000010572e174 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
    7   CoreFoundation                      0x000000010572de32 __CFRunLoopDoTimer + 1026
    8   CoreFoundation                      0x000000010572d9ea __CFRunLoopDoTimers + 266
    9   CoreFoundation                      0x0000000105725404 __CFRunLoopRun + 2308
    10  CoreFoundation                      0x0000000105724889 CFRunLoopRunSpecific + 409
    11  GraphicsServices                    0x0000000108cfb9c6 GSEventRunModal + 62
    12  UIKit                               0x00000001013375d6 UIApplicationMain + 159
    13  ???                                 0x00000001179fbe98 0x0 + 4691312280
    14  ???                                 0x00000001179fbac3 0x0 + 4691311299

enter image description here

enter image description here

Обновление:

Проблема, похоже, связана с тем, что .dSYM-файлов не создаются для симулятора.

1 Ответ

0 голосов
/ 03 мая 2018

Это то, что я добавляю в свой Application.cs класс, чтобы лучше видеть информацию об исключениях:

    static void Main(string[] args)
    {
#if DEBUG
        try
        {
#endif
            UIApplication.Main(args, null, "AppDelegate");
#if DEBUG
        }
        catch (Exception ex)
        {
            var msg = ex.Message;
            var temp = ex.StackTrace;
            if(System.Diagnostics.Debugger.IsAttached)
                System.Diagnostics.Debugger.Break();
            throw;
        }
#endif
    }
...