2013-10-07 52 views
1

當我嘗試使用Java Flight Recorder時,出現錯誤提示Java啓動Java時「無法初始化跟蹤後端」。無法初始化跟蹤後端

我的命令行是:

-XX:+UnlockCommercialFeatures 
-XX:+FlightRecorder 
-XX:StartFlightRecording=compress=true,delay=10000,maxage=1440,filename=test.jfr 
-XX:FlightRecorderOptions=defaultrecording=true,dist=true,loglevel=trace,settings=profile.jfc,dumponexit=true 

回答

0

Java的飛行記錄儀具有可怕的文檔和錯誤報告。該錯誤可能是由於多種原因。看起來如果你的命令行有多個錯誤 - 沒有錯誤會被正確報告。

可能的錯誤包括:

  • 錯誤輸入參數。我輸入了dist = true而不是disk = true。
  • 輸入一段時間的數字。

雖然文件說:

maxage=time Specifies the maximum age (in minutes) of disk data for default recording.

它真正的意思是,你必須指定一個單位。例如30分鐘半小時或30分鐘半分鐘。這也適用於其他時間太:

delay=time Specifies the delay (in milliseconds) between the Java application launch time and the start of the recording.

0

這是當啓動Java時VirtualMachineError情況下被拋出時,在情況下寫的是什麼,例如當Java代理無法加載。 JDK(最多9個)對於哪裏出了問題並不是非常具有說服力。

  • JDK 7把剛:

    Error occurred during initialization of VM

    Failed to start tracing backend.

    Java Result: 1

  • JDK 8是多一點的描述可以指向一個類是錯的,增加了JDK的7輸出類似:

    [jfr][WARN ][2.293] JFR initialization attempt failed.

    [java] [jfr][WARN ][2.293] org.somepackage.SomeClass

  • JDK 9在這裏真正有幫助,因爲它會用堆棧跟蹤寫入VirtualMachineError的消息,例如:

    java.lang.NoClassDefFoundError: org.somepackage.SomeClass

相關問題