9

現在、Worklight Studio 5.0.6 と Dojo (Mobile) 1.8.3 を使用してアプリを開発しようとしています。デバッグのための適切な方法を見つけるのに本当に苦労しています。サーバー上でデプロイ プロセスがビルドされるまで 5 ~ 10 分待った後、Chrome デバッガーでは通常、次のようなエラーが表示されます。

ここに画像の説明を入力

MY ソースでこのエラーを追跡するにはどうすればよいですか? スタック トレース全体は、20 の抽象化レイヤーの後でまったく役に立たないエラー メッセージを生成する Dojo コードで完全に構成されています。

真剣に、皆さんは実生活でこれをどのように処理していますか? ブラウザーで Dojo 駆動型アプリをデバッグするためにどのような方法を使用していますか?

スパイロ

4

4 に答える 4

2

Dojo ベースのアプリケーションのデバッグは、JavaScript アプリケーションのデバッグと同じである必要があります。

通常、次の手順に従います。

  1. コードのどこかに console.log() を追加します。これは高速で、ほとんどの場合これで十分です。

  2. デバッガーでブレークポイントを設定: ステップ 1 では不十分な場合は、エラー情報に基づいてエラー行の前にブレークポイントを設定し、ステップ インまたはステップ アウトできます。

  3. 最近の変更をコメント アウト: エラー行を見つけるのが難しいエラーの場合、たとえば、あなたの場合の解析エラーの場合、最近の変更を 1 つずつコメント アウトして、最後の作業バージョンに戻すことをお勧めします。または、最後に作業したバージョンに戻ってから、コードを 1 つずつ追加し直します。

  4. エラーを再現する簡単なアプリケーションを作成します: アプリケーションが非常に複雑で、上記の方法に従うのが難しい場合は、現在のアプリケーションを模倣する新しいアプリケーションを作成することができますが、単純なロジックでエラーを再現してみてください。

  5. 経験に基づく: いくつかのエラー (たとえば、chrome および firefox で機能する配列の末尾にある余分な「,」) は、IE で無意味なエラー情報を報告します。これらの種類のエラーをデバッグすることは非常に困難です。経験に基づいて行うか、Google 検索を行うことができます。

于 2013-09-30T13:57:39.657 に答える
1

通常、そのような状況で私が行うことは、エラー コールバック (この場合は 3398 行目) 内にブレークポイントを配置してから、エラー変数 ("e") を調べることです。

Web Inspector にどれだけ精通しているかわかりませんが、ブレークポイントに到達したら、Web Inspector の「コンソール」を開き、エラー プロパティ「e.message」と「e.stack」を確認します (「e.メッセージ " コンソールで)。また、開発中は Dojo の最適化/縮小を避けることをお勧めします。これにより、デバッグ能力が大幅に向上します。

肝心なのは、エラーがスローされる前にブレークポイントを配置しようとすることです。

于 2013-10-03T04:39:53.880 に答える