0

私のアプリは次のことを行っています:クライアントが接続すると、(Googleアカウントを使用して)認証をチェックし、OKでない場合はログインリンクを提供します。次に、UIがロードされ、最初に必要なデータがフェッチされている間、「loading...」メッセージが表示されます。それからそれが現れます。

私の問題:昨日の最後のデプロイ(UIのマイナーな変更)以来、アプリは認証を正しく行い、読み込みメッセージを表示してからハングします。ブラウザはもう何もしていませんし、GAEのインスタンスもしていません。

アプリのログには、予想されるリクエストがログに記録されていることがわかります。たとえば、/、CSSファイル、スクリプト、静的ファイル(画像など)のリクエスト、そしてもちろん認証RPCリクエストです。これらはすべて、エラーや例外なしで完全に実行されます。しかし、アプリは停止します!

アプリはローカル開発サーバー上で完全に動作し、デバッグを開始するためのエラーや例外がないため、助けを求めて叫んでいます!

データストアとmemcacheをクリアすることから始めて、アプリを完全に削除し、新しいアプリIDで新しいアプリを作成することで終わるまで、すべてのバリアントをすでに試したことに注意してください。何も役に立ちません。

ローカルでは正しく実行されますが、オンラインでは実行されないので、どうすればバグを見つけることができますか?

4

1 に答える 1

0

問題が解決しました !

Google Chromeデベロッパーツールは、クライアント側でキャッチ/処理しなかった例外を確認するのに役立ちました。したがって、オンラインアプリを試してもエラーは発生しませんでした。私のクラスのコンストラクターの1つは、Prod環境またはDevelopment Environmentの場合、初期化作業の動作が異なります。ProdEnvironmentの場合、UIの初期化とデータストアのコンテンツに関連するコーナーケースがありました。

  • 開発するときは、常にすべての潜在的な例外をキャッチし、最小限の処理を開発します(空のcatch()ブロックの代わりに、例外をログに記録します)
  • Chromeデベロッパーツールは大いに役立ちます(Peterに感謝します!)
于 2012-05-03T07:42:00.747 に答える