9

私は現在、エミュレーターリソースを使用してローカルで100%動作するAzureプロジェクトに取り組んでいます。現在、ワーカーロールをデプロイしようとしていますが、トラブルシューティングの方法がわからないという問題が発生しています。

Azureポータルにワーカーの役割をデプロイすると、2つのインスタンスは継続的に「リサイクル」をループします。

RDPをその役割に取り入れることはできますが、接続が閉じるまでに1分ほどしか見回せません。これは、リサイクルのためだと思います。

いくつか検索した後、これは非常に一般的な問題ではないようです。この問題を引き起こしている可能性がある、私が見落としている些細なことはありますか?これをどのようにトラブルシューティングしますか?お時間をいただきありがとうございます:)

4

7 に答える 7

5

リファレンスが欠落している場合は、次の方法でこの問題のトラブルシューティングを行うことができます。

CSPKGファイルを解凍してから、もう一度.CSSXファイルを解凍し(CSSXの名前をzipに変更するだけです)、すべての参照と静的コンテンツがすべてそこにあることを確認します。このようにして、VMにあるものと一致させることができます。また、RDPを実行する2分間のウィンドウで、アプリケーションイベントログで例外を探して取得してください。これが根本的な原因を見つけるための鍵となるためです。

イベントログで例外を確認し、例外を探すことができれば、それが生成された場所を確実に見つけることができます。Intellitraceを使用することもできますが、これにはアプリの再デプロイが必要になる場合があります。

また、WinDBGをコピーして、デバッグできる特定のプロセスにロックする方法もあります。どれだけ試してみたいかわかりませんが、WinDBGをVMにコピーして使用するだけで十分です(ただし、WinDBGでの経験と、費やしたい時間はわかりません)。

于 2012-06-21T23:41:11.467 に答える
2

また、この役割のリサイクル問題に何度も悩まされています。永続的な役割のリサイクルをデバッグするための一連の手順は次のとおりです。

Azureロールリサイクルのデバッグ

  1. 自分の役割へのリモートアクセスを有効にする-RDPログイン
  2. eventvwr.mscを確認します([Windowsログ]-> [アプリケーション、アプリ、サービスログ]-> [Windows Azure])
  3. との両方でAzureテキストファイルのログを確認しますC:\logsc:\resources
  4. ボリューム内のカスタムログE:、またはF:カスタムロールの起動ログを確認します
  5. AzureToolsを実行し、スタートアッププロセスにアタッチし(WinDBGをダウンロードし、Utils-> Attach Debuggerを使用し、プロセスを選択します-WaWorkerHost / WaIISHostなど)、G続行して、アセンブリのロードに失敗したデバッガー出力を監視します。

    Powershellを介したAzureデバッグツールのインストール

    PS> md c:\ tools; インポート-モジュールビット転送; Start-BitsTransfer http://dsazure.blob.core.windows.net/azuretools/AzureTools.exe c:\ tools \ AzureTools.exe; c:\ tools \ AzureTools.exe

上記のすべての項目が失敗した場合(フュージョンロギングなど、 AzureToolsの財宝法で他のツールを使用してみてください)、上記のアプローチは機能します。

WinDBGサンプル出力-アセンブリの検索に失敗しました(WaIISHost)

ここに画像の説明を入力してください

于 2016-01-25T05:47:19.130 に答える
1

最も可能性の高い原因は、アセンブリが欠落していることです。これをキャッチするための1つの戦術は、手動でエラーをAzureストレージに記録するマスターtry/catchで起動処理をラップすることです。

参照を追加した場合は、それらがcopylocal = trueに設定されていること、およびサービスパッケージに含まれていた外部アセットも含まれるように設定されていることを確認してください。

于 2012-06-20T15:43:45.407 に答える
1

上記のAvkashから:

はい。これは、ワーカーロールコードの問題が原因でワーカーロールホストプロセスがクラッシュしていることを意味します。フォールトスタックを確認する場合は、このフォールトを生成する関数またはコードからのリンクを確認する必要があります。ヘルプが必要な場合は、無料のAzureサポートインシデントをWindowsAzureサポートチームに公開してください。サポートが提供されます。

于 2012-06-21T17:07:08.250 に答える
1

単なる提案:インストール可能(存在する場合)および使用するその他の参照が64ビットであることも確認してください。AzureVMには64ビットOSがあります。32/64ビットの問題が原因でこの種の問題に悩まされたことがあります。

于 2012-08-06T06:12:23.167 に答える
0

ワーカーの役割は作業ループを終了していますか?ローカルリサイクルは非常に高速で、気付かないかもしれませんが、クラウドでのスピンアップ時間は長くなる可能性があります。

于 2012-06-20T15:46:33.473 に答える
0

問題の原因が起動バッチファイルである場合は、インスタンスのバッチファイルを編集して、先頭に「exit/b0」を含めることでループを停止しました。これにより、Azureは起動が成功したことを通知し、VMを強制終了せずに問題を診断する必要があります。

于 2014-04-25T19:19:30.110 に答える