12

モバイル Safari では Web サイトがクラッシュしますが、デスクトップでは問題なく動作します。

クラッシュする理由を特定するにはどうすればよいですか?

4

2 に答える 2

22

Safari が予期せず終了し、Web サイトが表示されなくなった場合にできること:

1. Safari デバッグ コンソール

Safari のデバッグ コンソールを使用します。iPhone で電源を入れます: [設定] -> [Safari] -> [詳細設定] -> [デバッグ コンソール] = [オン]。

私にとってそれは言う

  • 6 行目の 2 つの HTML エラー (キー "width" のビューポート引数値 "device-width" が認識されず、キー "user-scalable" のビューポート引数値 "no" が認識されません。)
  • 2 HTML のヒントも n 行 6.

次にSafariを使用してWebページをチェックすると、デバッグコンソールが表示されます。

2. Web インスペクタ (iOS 6.0 以降)

Web ページの問題を見つけるのがより複雑になっている場合は、Web インスペクターを使用して Mobile Safari をデバッグします。これは素晴らしいチュートリアルです。

IOS Simulator を使用すると、この特定の Web サイトでは、5.0、5.1、および 6.1 のすべての iOS バージョンで、ページがクラッシュしてページが正しく実行されますが、デバイス (iOS 5.0.1) ではまだクラッシュすることがわかりました。

私のデバイスは iOS 5 で実行されているため、Web Inspector にアクセスできませんが、次のステップとして、デバイスでサイトを確認し、マシンで Web Inspector を確認してください。

3. iPhone 構成ユーティリティのコンソールを使用する

Apple のiPhone Configuration Utilityをダウンロードすると、Safari テスト中にモバイルのコンソールにアクセスできます。

サイトを確認すると、最終的に Safari のクラッシュにつながるいくつかのメモリ警告が表示されます。

4a. Xcode のデバッグ機能を使用する

Xcode を使用して、デバイスのコンソールにアクセスすることもできます ([ウィンドウ] -> [オーガナイザー] -> [デバイス] タブ -> [コンソール])。

あなたのケースはコンソールで次のように報告されました:

Apr 30 10:15:18 unknown kernel[0] <Debug>: launchd[2489] Builtin profile: MobileSafari (sandbox)   
Apr 30 10:15:38 unknown MobileSafari[2489] <Warning>: Received memory warning. 
Apr 30 10:15:39 unknown SpringBoard[15] <Warning>: Received memory warning. 
Apr 30 10:15:50 unknown UserEventAgent[12] <Notice>: jetsam: kernel termination snapshot being created 
Apr 30 10:15:50 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.apple.mobilephone[0xb2a4]) Exited: Killed: 9
Apr 30 10:15:50 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.apple.mobilesafari[0xf755]) Exited: Killed: 9
Apr 30 10:15:50 unknown SpringBoard[15] <Warning>: Application 'Phone' exited abnormally with signal 9: Killed: 9
Apr 30 10:15:50 unknown SpringBoard[15] <Warning>: Application 'Safari' exited abnormally with signal 9: Killed: 9
Apr 30 10:15:52 unknown ReportCrash[2491] <Error>: Saved crashreport to /Library/Logs/CrashReporter/LowMemory-2013-04-30-101552.plist using uid: 0 gid: 0, synthetic_euid: 0 egid: 0

4b. Xcode のデバッグ機能である Instruments を使用する

何が起こっているかを確認するもう 1 つの洗練された方法は、Instruments を使用することです。

サイトを再度確認すると、Safari が終了する前にメモリ不足の警告が多数表示されます。残念ながら、Web サイトの問題を発見するのに直接役立つわけではありませんが、Safari で開いているバグ レポートを見つけるのに役立つかもしれません。

于 2013-04-29T19:09:08.073 に答える
3

次のようにして、クラッシュのデバッグに成功しました。

  1. xcode を使用して電話コンソールに接続します
  2. コンソールでクラッシュを見つけます。私の場合は次のようになります。

    9 月 2 日 17:16:21 Edwards-iPhone ReportCrash[7093]: レポートを /Library/Logs/CrashReporter/JetsamEvent-2015-09-02-171621.ips に保存しました

  3. 次に、設定の [診断] ([設定] > [プライバシー] > [診断と使用状況データ] - iOS 8.4 の場合。他のバージョンでは別の場所にあります) に移動し、クラッシュ ファイルを見つけます。

これにより、どのクラッシュ レポートが経験したものかを推測する必要がなくなります。

于 2015-09-02T17:31:06.423 に答える