2017-04-10 24 views

答えて

2

Azure App Serviceでは、普及しているすべてのバージョンのJavaがパスD:\Program Files (x86)\Javaにインストールされていました。バージョン1.8.0u73を例にして、下の図を参照してください。

enter image description here

あなたはクーズーコンソールツールを使用して、一時的に環境へのJavaツールを追加するset PATH=D:\Program Files (x86)\Java\jdk1.8.0_73\bin;%PATH%を命令することができます。その後、現在のKuduセッションでjstackツールを利用できます。それは(あなたがあなたのアプリケーションで使用しているJavaのバージョンを使用しています

powershell -Command "get-process java |select -expand id" > pid.txt 
set /p id= < pid.txt 
"%JAVA_HOME%\bin\jstack" -F %id% > out.txt 

:前の回答に触発

+0

あなたの答えを使って、プロセスエクスプローラタブのjavaプロセスのpidを使ってjstackを試しましたが、「スレッドの例外」メイン「java.io.IOException:時期尚早EOF」が表示されます。これは私の特定のアプリケーションの問題かもしれないので、実際にスレッドダンプをこのように行うことができるかどうか確認できますか? –

+1

@DaveyChuあなたの例外は、 'jstack'が巨大なコンテンツを生成することによって引き起こされたようです。 'jstack -F PID> D:\ home \ site \ out.txt'を試して、内容をテキストファイルに出力してください。 –

0

は、私が仕事をして、次のバットスクリプトを(PowerShellの可能性があり、私は仮定)を作成しましたJAVA_HOME)、あなたからの入力は必要ありません。それは簡単で、トリックです。たとえば、wwwrootにバットファイルを作成し、いつでも実行することができます。

関連する問題