2015-05-18 86 views
2

我試圖JBoss的個人資料如下:如何從IDEA JProfiler插件連接到無需啓動的JVM?

  • 添加-agentpath:C:\Progra~1\jprofiler8\bin\windows-x64\jprofilerti.dllstandalone.bat。請注意,未指定nowait,因此VM將等待JProfiler GUI連接。 「 - >附加到JVM運行」

的問題是,「快速連接」窗口中沒有看到JBoss的JVM,不管我做什麼

  • 運行standalone.bat
  • 利用IDEA重視。

    這裏是JBoss標準輸出顯示該JProfiler的準備:

    Calling "C:\src\ss-master\middle\runtime\jboss-as-7.1.1.Final\bin\standalone.conf.bat" 
    =============================================================================== 
    
        JBoss Bootstrap Environment 
    
        JBOSS_HOME: C:\src\ss-master\middle\runtime\jboss-as-7.1.1.Final 
    
        JAVA: C:\tools\java\bin\java 
    
        JAVA_OPTS: -XX:+TieredCompilation -agentpath:C:\Progra~1\jprofiler8\bin\windows-x64\jprofilerti.dll -Dprogram.name=standalone_jprofiler.bat -Xms256m -Xmx8192m -XX:NewRatio=6 -XX: 
    PermSize=128m -XX:MaxPermSize=256m -Xss512K -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.war 
    ning=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djboss.server.default.config=standalone.xml -Dorg.jboss.server.bootstrap.maxThreads=8 -agentlib:jdwp=transport=dt_socket,se 
    rver=y,suspend=n,address=5001 
    
    =============================================================================== 
    
    JProfiler> Protocol version 41 
    JProfiler> Using JVMTI 
    JProfiler> JVMTI version 1.1 detected. 
    JProfiler> 64-bit library 
    JProfiler> Listening on port: 8849. 
    JProfiler> Instrumenting native methods. 
    JProfiler> Can retransform classes. 
    JProfiler> Can retransform any class. 
    JProfiler> Native library initialized 
    JProfiler> VM initialized 
    JProfiler> Waiting for a connection from the JProfiler GUI ... 
    

    下面是一些我嘗試過的事情:

    • 從JProfiler的UI「快速連接」也沒有請參閱JBoss VM。
    • nowait的啓動選項中,連接成功(甚至來自IDEA)。
    • 沒有nowait,我只能從JProfiler GUI中的預定義會話連接。在此之後,我也可以從IDEA連接。

    這最後一點是最有趣的。保存的會話有哪些附加信息可以檢測到「等待」的JProfiler代理?

    下面是我用例的約束:

    • 我要開始從IDEA的分析,以便跳轉到源代碼帶我去的想法。
    • 我想介紹啓動階段,所以我買不起nowait
  • 回答

    2

    當分析代理在啓動時等待連接時,附加機制不起作用,因爲啓用附加的jvmstat系統尚未加載。實際上,沒有加載Java類,因此沒有任何需要Java代碼的東西可以在該階段工作。

    要配置這樣一個等待的虛擬機,您需要遠程分析會話。在JProfiler 8中,IDE集成不支持此功能。

    這將是可能的JProfiler 9.0(即將發佈)。附加對話框將有兩種模式,本地模式列出所有本地運行的虛擬機和遠程附加選項,您可以在其中輸入主機名和端口。

    但是,您也可以直接從IDEA分析JBoss運行配置。然後你不必修改啓動腳本。

    +0

    感謝您的解釋。關於你的建議,我不想從IDE運行JBoss。我需要分析各種JBoss安裝,最簡單的方法就是連接到許多已安裝的JVM中的一個(就像你爲調試所做的那樣)。 –