【问题标题】:Xamarin app crashes on startup on device, works fine in simulatorXamarin 应用程序在设备上启动时崩溃,在模拟器中运行良好
【发布时间】:2014-02-19 20:01:02
【问题描述】:

如果有任何建议,请在 OS 10.8 上使用 SDK6.1 和 Xcode 5

应用程序在启动后立即崩溃,根本无法进入调试器。这也发生在 TestFlight 发布的版本上。在另一台电脑上试过,结果一样。甚至尝试创建一个新的示例 Monotouch 应用程序并获得相同的结果。

Jan 28 15:25:59 maimonphone backboardd[28] <Error>:     __hid_dispatch_pthread_root_queue_create_block_invoke: specific=0x14d832a0     pthread_self=0x4116000
Jan 28 15:25:59 maimonphone kernel[0] <Debug>: AppleSerialMultiplexer: mux-ad(eng)::setLinkQualityMetricGated: Setting link quality metric to 50
Jan 28 15:26:00 maimonphone kernel[0] <Debug>: launchd[695] Container: /private/var/mobile/Applications/C15EE9BA-4693-432B-899A-90340F54664E (sandbox)
Jan 28 15:26:00 maimonphone networkd[78] <Warning>: Analytics Engine: double ON for app: com.pacealert.app
Jan 28 15:26:00 maimonphone PaceAlert[695] <Warning>: MonoTouch: Added IP to look for MonoDevelop: 192.168.45.129
Jan 28 15:26:00 maimonphone PaceAlert[695] <Warning>: MonoTouch: MonoDevelop Port: 10000 Transport: WiFi
Jan 28 15:26:02 maimonphone PaceAlert[695] <Warning>: The assembly mscorlib.dll was not found or could not be loaded.
Jan 28 15:26:02 maimonphone PaceAlert[695] <Warning>: It should have been installed in the `/Developer/MonoTouch/SDKs/MonoTouch.iphoneos.sdk/usr/lib/mono/2.0/mscorlib.dll' directory.
Jan 28 15:26:02 maimonphone com.apple.launchd[1] (UIKitApplication:com.pacealert.app[0x1257][695]) <Error>: (UIKitApplication:com.pacealert.app[0x1257]) Exited with code: 1
Jan 28 15:26:02 maimonphone com.apple.launchd[1] (UIKitApplication:com.pacealert.app[0x1257]) <Notice>: (UIKitApplication:com.pacealert.app[0x1257]) Throttling respawn: Will start in 2147483645 seconds
Jan 28 15:26:02 maimonphone backboardd[28] <Warning>: Application 'UIKitApplication:com.pacealert.app[0x1257]' exited abnormally with exit status 1

它说明了一个丢失的文件,但我很确定它在那里 :-(

------ 来自控制台的更多信息 ---- Jan 28 16:30:12 maimonphone mobile_installation_proxy[261]:LaunchServices:安装应用程序时,请在选项字典中包含 kCFBundleIdentifierKey。 1 月 28 日 16:30:12 maimonphone mobile_installation_proxy[261]:LaunchServices:为现有占位符安装应用程序(空) 1 月 28 日 16:30:12 maimonphone installd[225] : 0x201000 handle_install_for_ls: 安装 mobile_installation_proxy 请求的“/var/mobile/Media/PublicStaging/PaceAlert.app” 1 月 28 日 16:30:12 maimonphone installd[225]:0x201000 MobileInstallationInstall_Server:安装应用程序 com.pacealert.app 1 月 28 日 16:30:12 maimonphone SpringBoard[34]:杀死 com.pacealert.app 以进行终止断言 1 月 28 日 16:30:12 maimonphone installd [225]:0x201000 install_application:执行开发人员增量补丁 1 月 28 日 16:30:14 maimonphone installd[225]:0x201000 MobileInstallationInstall_Server:暂存:0.12s;等待:0.00s;安装:2.46s; LS同步:0.00s;总体:2.59s 1 月 28 日 16:30:14 maimonphone lsd[221]:LaunchServices:更新标识符存储 1 月 28 日 16:30:15 maimonphone SpringBoard[34]:libMobileGestalt MobileGestalt.c:835:nike-ipod 是静态的,永远不会生成通知 1 月 28 日 16:30:15 maimonphone SpringBoard[34]:libMobileGestalt MobileGestalt.c:835:静止相机是静态的,永远不会生成通知 1 月 28 日 16:30:15 maimonphone SpringBoard[34]:libMobileGestalt MobileGestalt.c:835:磁力计是静态的,永远不会生成通知 1 月 28 日 16:30:15 maimonphone SpringBoard[34]:libMobileGestalt MobileGestalt.c:835:any-telephony 是静态的,永远不会生成通知 Jan 28 16:30:15 maimonphone SpringBoard[34]:libMobileGestalt MobileGestalt.c:835:stand-alone-contacts 是静态的,永远不会生成通知 Jan 28 16:30:19 maimonphone MobileStorageMounter [770]:0x3d5c218c digest_disk_image:无法打开/var/run/mobile_image_mounter/7MyG0L.dmg:没有这样的文件或目录 1 月 28 日 16:30:19 maimonphone MobileStorageMounter[770] : 0x3d5c218c reload_mount_map: /Developer - 无法创建摘要 1 月 28 日 16:30:19 maimonphone mobile_storage_proxy[769]:0x3d5c218c handle_lookup_image:条目 2 of 4 没有摘要

Jan 28 16:30:20 maimonphone MobileStorageMounter[770] <Error>: 0x3d5c218c handle_mount_disk_image: A disk image of type Developer is already mounted
Jan 28 16:30:20 maimonphone mobile_storage_proxy[769] <Error>: MobileStorageMount:355 Could not extract mount path from response message
Jan 28 16:30:20 maimonphone mobile_storage_proxy[769] <Error>: 0x3d5c218c handle_mount_image: Could not mount the disk image
Jan 28 16:30:20 maimonphone mobile_storage_proxy[769] <Error>: 0x3d5c218c main: Could not mount the image

Jan 28 16:30:23 maimonphone com.apple.debugserver-300.2[771] <Warning>: debugserver-300.2 for armv7.
Jan 28 16:30:23 maimonphone com.apple.debugserver-300.2[771] <Warning>: Connecting to com.apple.debugserver service...
Jan 28 16:30:25 maimonphone locationd[53] <Warning>: NStatManagerHandleSrcCounts:1549 couldn't find NStatSourceRef for 5522
Jan 28 16:30:25 maimonphone locationd[53] <Warning>: NStatManagerHandleSrcDescriptor:1214 update descriptor for invalid source
Jan 28 16:30:26 maimonphone com.apple.debugserver-300.2[772] <Warning>: debugserver-300.2 for armv7.
Jan 28 16:30:26 maimonphone com.apple.debugserver-300.2[772] <Warning>: Connecting to com.apple.debugserver service...
Jan 28 16:30:26 maimonphone com.apple.debugserver-300.2[772] <Warning>: Got a connection, waiting for process information for launching or attaching.
Jan 28 16:30:26 maimonphone com.apple.debugserver-300.2[772] <Warning>: About to launch process for bundle ID: com.pacealert.app
Jan 28 16:30:26 maimonphone backboardd[28] <Error>: __hid_dispatch_pthread_root_queue_create_block_invoke: specific=0x14d832a0 pthread_self=0x433d000
Jan 28 16:30:26 maimonphone backboardd[28] <Notice>: Posting 'com.apple.iokit.hid.displayStatus' notifyState=1
Jan 28 16:30:26 maimonphone wifid[15] <Notice>: WiFi:[412612226.455532]: ATJManager: setting ask-to-join interaction mode to Interactive
Jan 28 16:30:26 maimonphone wifid[15] <Notice>: WiFi:[412612226.456357]: ATJManager: no entries to purge
Jan 28 16:30:26 maimonphone wifid[15] <Notice>: WiFi:[412612226.456922]: Device is UNLOCKED
Jan 28 16:30:26 maimonphone wifid[15] <Notice>: WiFi:[412612226.457431]: Ignoring lock state
Jan 28 16:30:26 maimonphone wifid[15] <Notice>: WiFi:[412612226.457943]: problematic networks =  and potentially problematic networks =
Jan 28 16:30:26 maimonphone wifid[15] <Notice>: WiFi:[412612226.458562]: Unblacklisting
Jan 28 16:30:26 maimonphone wifid[15] <Notice>: WiFi:[412612226.463413]: No change in Background Scan candidates. Skip re-programming Background Scan
Jan 28 16:30:26 maimonphone wifid[15] <Notice>: WiFi:[412612226.509190]: Already connected to MY_NETWORK.
Jan 28 16:30:26 maimonphone wifid[15] <Notice>: WiFi:[412612226.510816]: Device display is ON
Jan 28 16:30:26 maimonphone wifid[15] <Notice>: WiFi:[412612226.513297]: Already connected to MY_NETWORK.
Jan 28 16:30:26 maimonphone kernel[0] <Debug>: set_crc_notification_state 0
Jan 28 16:30:26 maimonphone kernel[0] <Debug>: ALS: AppleARMBacklight::handleMessageGated - framebufferState -> 1
Jan 28 16:30:26 maimonphone kernel[0] <Debug>: ALS: AppleARMBacklight::setBacklightEnableGated 1 (set level to 0x68a)
Jan 28 16:30:26 maimonphone backboardd[28] <Notice>: MultitouchHID: device bootloaded
Jan 28 16:30:26 maimonphone backboardd[28] <Notice>: MultitouchHID: detection mode: 255->0 (deferring until bootloaded)
Jan 28 16:30:26 maimonphone backboardd[28] <Notice>: MultitouchHID: detection mode: 0->0
Jan 28 16:30:28 maimonphone wifid[15] <Notice>: WiFi:[412612228.766440]: BG Application: Not Present, BG Daemon: Present. Daemons: apsd networkd
Jan 28 16:30:28 maimonphone wifid[15] <Notice>: WiFi:[412612228.767826]: Already connected to MY_NETWORK.
Jan 28 16:30:29 maimonphone kernel[0] <Debug>: launchd[773] Container: /private/var/mobile/Applications/C15EE9BA-4693-432B-899A-90340F54664E (sandbox)
Jan 28 16:30:29 maimonphone networkd[78] <Warning>: Analytics Engine: double ON for app: com.pacealert.app
Jan 28 16:30:29 maimonphone com.apple.debugserver-300.2[772] <Warning>: In completion handler, got pid for bundle id, pid: 773.
Jan 28 16:30:29 maimonphone com.apple.debugserver-300.2[772] <Warning>: Got a connection, launched process /Developer/usr/bin/debugserver.

Jan 28 16:30:29 maimonphone com.apple.debugserver-300.2[772] <Warning>: 1 +0.000000 sec [0304/060b]: error: ::ptrace (request = PT_THUPDATE, pid = 0x0305, tid = 0x2503, signal = -1) err = Invalid argument (0x00000016)
Jan 28 16:30:29 maimonphone com.apple.debugserver-300.2[772] <Warning>: 2 +0.053023 sec [0304/1c0b]: error: ::read ( -1, 0x2849ec, 18446744069414585344 ) => -1 err = Bad file descriptor (0x00000009)
Jan 28 16:30:29 maimonphone com.apple.debugserver-300.2[771] <Warning>: 1 +0.000000 sec [0303/060b]: error: ::read ( 6, 0x27da5dcc, 1024 ) => 0 err = Function not implemented (0x0000004e)
Jan 28 16:30:29 maimonphone com.apple.debugserver-300.2[771] <Warning>: Exiting.
Jan 28 16:30:29 maimonphone mobile_installation_proxy[261] <Error>: 0x19c7000 handle_connection: Could not receive request from host.
Jan 28 16:30:29 maimonphone mobile_installation_proxy[261] <Error>: 0x181000 handle_connection: Could not receive request from host.
Jan 28 16:30:29 maimonphone com.apple.debugserver-300.2[772] <Warning>: Exiting.
Jan 28 16:30:30 maimonphone PaceAlert[773] <Warning>: MonoTouch: Added IP to look for MonoDevelop: 192.168.45.129
Jan 28 16:30:30 maimonphone PaceAlert[773] <Warning>: MonoTouch: MonoDevelop Port: 10000 Transport: USB
Jan 28 16:30:30 maimonphone PaceAlert[773] <Warning>: MonoTouch: Successfully received USB connection from MonoDevelop on port 10000, fd: 5
Jan 28 16:30:30 maimonphone PaceAlert[773] <Warning>: MonoTouch: Processing: 'start debugger: sdb'
Jan 28 16:30:30 maimonphone PaceAlert[773] <Warning>: MonoTouch: Successfully received USB connection from MonoDevelop on port 10000, fd: 6
Jan 28 16:30:30 maimonphone PaceAlert[773] <Warning>: MonoTouch: Processing: 'connect output'
Jan 28 16:30:30 maimonphone PaceAlert[773] <Warning>: MonoTouch: Debugger loaded with custom transport (fd: 5)
Jan 28 16:30:30 maimonphone PaceAlert[773] <Warning>: MonoTouch: Successfully received USB connection from MonoDevelop on port 10000, fd: 7
Jan 28 16:30:30 maimonphone PaceAlert[773] <Warning>: MonoTouch: Processing: 'start profiler: no'
Jan 28 16:30:30 maimonphone PaceAlert[773] <Warning>: The assembly mscorlib.dll was not found or could not be loaded.
Jan 28 16:30:30 maimonphone PaceAlert[773] <Warning>: It should have been installed in the `/Developer/MonoTouch/SDKs/MonoTouch.iphoneos.sdk/usr/lib/mono/2.0/mscorlib.dll' directory.
Jan 28 16:30:30 maimonphone com.apple.launchd[1] (UIKitApplication:com.pacealert.app[0x22ee][773]) <Error>: (UIKitApplication:com.pacealert.app[0x22ee]) Exited with code: 1
Jan 28 16:30:30 maimonphone com.apple.launchd[1] (UIKitApplication:com.pacealert.app[0x22ee]) <Notice>: (UIKitApplication:com.pacealert.app[0x22ee]) Throttling respawn: Will start in 2147483646 seconds
Jan 28 16:30:30 maimonphone backboardd[28] <Warning>: Application 'UIKitApplication:com.pacealert.app[0x22ee]' exited abnormally with exit status 1
Jan 28 16:30:30 maimonphone wifid[15] <Notice>: WiFi:[412612230.488133]: BG Application: Not Present, BG Daemon: Present. Daemons: apsd networkd

1 月 28 日 16:30:32 maimonphone backboardd[28] : __hid_dispatch_pthread_root_queue_create_block_invoke: specific=0x14d832a0 pthread_self=0x433d000

【问题讨论】:

  • 您能粘贴完整的崩溃日志吗?您可以使用 Xcode 中的 Organizer 找到它。
  • 这是自启动应用程序以来添加到日志中的所有内容。之前有很多东西。但每次我尝试启动时,我都会得到这部分。
  • 还注意到模拟器有 SDK6.0 和 SDK7.0 而 iphone 有 6.1 和 7.0 = 不知道这是怎么发生的或是否相关
  • Xcode 5 附带了几个模拟器 SDK(例如 6.0、6.1 和 7.0),但只有 一个用于设备的 SDK (7.0)。除了(Stephan)询问的(符号化的)崩溃报告之外,完整的构建日志(包括额外的-v -v -v -v)可以提供更多线索。

标签: ios iphone xamarin.ios xamarin


【解决方案1】:

难以置信...解决方案是安装 Xcode 命令行工具

这是(很容易!)从 Xcode->Preference->Downloads 菜单完成的。

我今天花了几个小时,希望这对其他可怜的人有所帮助。

【讨论】:

  • 对于那些可能认为这不是你的问题的人,还是试试吧。前一天调试对我有用,但第二天就坏了。我没有卸载或重新安装 Xcode,但是当我进入下载中心时,没有安装命令行工具。不确定是什么卸载了它们,但这解决了我的问题。
  • 我可以确认这对我有用。我遇到了完全相同的问题,即在启动屏幕后应用程序在设备上的调试或测试飞行中崩溃,但在模拟器上工作。我的日志和上面的几乎一样。安装命令行工具修复它。
  • 一百万谢谢。刚刚在 Xcode 61.1/Yosemite 上遇到了同样的问题,并花了几个小时试图解决它。几天前还在工作,然后就莫名其妙地坏了。按照这里的建议安装命令行工具是可行的,但它们实际上并没有在 Xcode 的下载中心显示给我。我必须运行一个终端命令来安装它们(xcode-select --install)。我对 Xamarin 的这些东西感到厌烦。要么所有工具运行得如此缓慢,你认为它坏了,它昨天工作时就坏了(无论如何使用 VS 集成 - 我不使用 XS)。
【解决方案2】:

我发现我的问题实际上是别的。如果您的应用“启动时间过长”,就会发生这种情况。我有点意识到这一点,但我的应用程序之前一直启动良好,我没有意识到这是问题所在。

似乎我已打开“所有异常中断”,并且我现在使用的许多组件(例如 Xamarin Insights、Initialize 方法)在内部引发异常,导致调试器中断(即使您可以从无害的例外)。

捕获异常并将它们编组回 VS 的过程可能需要相当长的时间(有时需要几秒钟),在我的情况下,其中两三个在启动时足以让 iOS 终止应用程序进程的行为不端。我从未真正看到错误,因为进程终止得太快,数据无法返回 VS,所以我不知道发生了什么。

关闭所有异常的中断,至少在应用程序启动之前,可以解决这个问题。

【讨论】:

  • 这不是答案。这更像是一种意见/评论。
猜你喜欢
  • 2011-09-24
  • 1970-01-01
  • 2011-08-29
  • 2015-07-26
  • 1970-01-01
  • 2017-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多