測試和效能平台 3.3.0 版 - 版本注意事項


1.0 已知的問題和限制
1.1 通用日誌配接器
1.1.1 執行通用日誌配接器規則時,IBM 之 Java Runtime Environment (JRE) 1.4.1 版的問題
1.1.2 從遠端 z/OS 系統匯入日誌檔可能會產生不完整的資料
1.1.3 持續剖析含有 footer 的日誌檔,會導致遺漏記錄
1.1.4 某些錯誤訊息在「GLA 配置編輯器」的「問題」視圖中會重複
1.1.5 「通用日誌配接器」不支援建立規則來剖析多個時間戳記格式
1.1.6 當新的 GLA 配接器檔案在「通用日誌配接器」視景中執行時,「問題」視圖中會發生格式製作程式錯誤
1.1.7 HTTP 伺服器存取日誌規則剖析器無法正確地剖析某些記錄
1.2 Agent Controller
1.2.1 在 DBCS 系統上側寫 Java 應用程式時,主控台文字會被竄改
1.2.2 Agent Controller 檔案複本在 HP 11i 上無法運作
1.2.3 Agent Controller 在 Solaris 中報告了「找不到 sh: sysdef:」錯誤
1.2.4 在 Linux 上以 Sun JVM 執行的 Agent Controller 會進入無限迴圈
1.2.5 不允許在一部機器上有多個 Agent Controller 實例
1.2.6 當遠端伺服器上找不到檔案時,檔案轉送引擎不會報告 FileNotFoundExceptions
1.2.7 在 iSeries 於安全模式下執行 Agent Controller
1.2.8 在同步監視多個代理程式時,不會收集資料
1.2.9 在關閉 Agent Controller 時發生分段違規
1.2.10 側寫應用程式時發生「記憶體不足」錯誤
1.2.11 由代理程式收集的資料不會到達用戶端
1.2.12 如果某個代理程式在含有多個代理程式的程序中執行,則終止該代理程式不會順利完成
1.2.13 要求同層級監視作業在 EBCDIC 平台無法運作
1.3 日誌和追蹤分析器
1.3.1 localhost 不支援連續日誌監視作業
1.3.2 無法開啟記載範例 Readme
1.3.3 如果 Agent Controller 未正確啟動,則含有過濾器的「遠端日誌匯入」無法運作
1.3.4 即使 Agent Controller 未啟動,遠端日誌匯入程序也會留在「即時」狀態
1.3.5 匯入某些 HTTP 伺服器存取日誌可能會產生「字串索引超出範圍」的錯誤
1.3.6 於 DBCS 系統匯入「Microsoft Windows 系統」事件日誌時,某些事件中有無法讀取的資料
1.3.7 匯入空的日誌時,發生 NullPointerException
1.3.8 匯入「Windows 應用程式」事件日誌會產生 Common Base Event 格式化錯誤
1.3.9 如果指定了無效的日誌檔名稱,從遠端 HP-UX 系統匯入日誌會當掉
1.4 Probekit
1.5 側寫工具
1.5.1 使用 IBM JDK 1.4.1 時,記憶體回收會發生問題
1.5.2 使用 Sun JVM 時,無法追蹤某些方法呼叫
1.5.3 在 Solaris 利用 Sun JDK 1.4.x 進行側寫可能會導致 JVM 當掉
1.5.4 在 Solaris 中於獨立式模式下以 STACK_INFORMATION=contiguous 執行時可能會當掉
1.5.5 WAIT 和 WAITED 事件的逾時值是負數
1.5.6 IBM JDK 1.4.2 的監視器傾出不正確
1.5.7 使用 JIT 列入時的方法數不正確
1.5.8 在 AIX 和 Solaris 中的方法層次 CPU 時間統計資料限制
1.5.9 在 Linux 中側寫到現有的設定檔會失敗
1.5.10 匯入從無監視器型的側寫所產生的設定檔
1.5.11 在異常關閉工作台之後,會顯示重複的過濾器視圖
1.5.12 釋出記憶體動作可能會無聲地失敗
1.5.13 如果選取了執行歷程 > 完整圖形式詳細資料但未編輯, 則會設定不正確的代理程式選項
1.5.14 以套件層次過濾功能匯入設定檔會顯示空的視圖
1.5.15 側寫模式顯示的資料多於預期
1.6 統計主控台
1.7 測試
1.7.1 一般測試問題
1.7.1.1 無法在 iSeries 進行 JUnit、手動和 URL 測試
1.7.1.2 存取資料儲存池
1.7.2 URL 測試
1.7.2.1 將 URL 測試當成 JUnit 測試執行
1.7.2.2 執行 URL 測試範例
 

1.0 已知的問題和限制

1.1 通用日誌配接器

1.1.1 使用 IBM 的 Java Runtime Environment (JRE) 1.4.1 版,來執行通用日誌配接器規則問題

2003 年發行的 IBM JDK 1.4.1,無法使用規則型 Apache 存取日誌剖析器。

當您執行 IBM 的 Java Runtime Environment (JRE) 1.4.1 版來使用「通用日誌配接器」和/或使用規則型的日誌檔剖析器來匯入日誌檔時,需要有 Service Release (SR2) 或以上的版本。

1.1.2 從遠端 z/OS 系統匯入日誌檔可能會產生不完整的資料

Bugzilla 問題:80730

從遠端 z/OS 系統利用「日誌和追蹤分析器」匯入日誌檔,可能會導致「日誌」視圖中顯示不完整的資料。匯入作業可能會太早停止, 使得「日誌」視圖中未能顯示所有的日誌記錄。當 z/OS 系統安裝了下列其中一個 IBM JDK 版本時,即會發生這個問題:

這個問題已於 IBM JDK 1.4.2 中以 PTF UK00802 修正。 請將 JDK 升級到該版本或更新的版本。 如果您無法升級 JDK 版本, 要解決這個問題,請執行下列步驟來變更 z/OS 系統上的 Agent Controller 配置:

  1. 編輯 Agent Controller 安裝目錄中的 plugins/org.eclipse.hyades.logging.parsers/config/pluginconfig.xml 檔。
  2. 在 java.version 參數之後,新增 Parameter 到 RemoteLogParserLoader 應用程式元素。例如:
    <Parameter position="prepend" value="-Djava.version=1.4"/>
    <Parameter position="prepend" value="-Djava.compiler=NONE"/>
    <Parameter position="append" value="&quot;config_path=%GLA_CONFIG_PATH%&quot;"/>
  3. 重新啟動 Agent Controller。
  4. 重新匯入日誌檔。

1.1.3 持續剖析含有 footer 的日誌檔,會導致遺漏記錄

Bugzilla 問題:97974

持續剖析含有 footer 區段的日誌檔,有時會導致剖析的輸出中遺漏記錄。明確地說,當日誌檔附加了新的記錄時, 附加記錄的第一筆記錄不會被剖析,也不會納入剖析的輸出中。當環境定義實例在配接器配置檔中配置成 continuousOperation="true",且日誌檔含有 footer 區段時, 即會發生這個問題。如果要暫時解決這個問題,請將環境定義實例配置成 continuousOperation="false" 來剖析日誌檔一次。

1.1.4 某些錯誤訊息在「GLA 配置編輯器」的「問題」視圖中會重複

Bugzilla 問題:101184

某些錯誤訊息在「GLA 配置編輯器」的「問題」視圖中會顯示多次。在按一下重新執行配接器... 按鈕來執行配接器配置檔之前, 「問題」視圖不一定會先清除現有的訊息。修改並儲存檔案會清除「問題」視圖,且會顯示任何配接器配置的驗證錯誤。

1.1.5 「通用日誌配接器」不支援建立規則來剖析多個時間戳記格式

「通用日誌配接器」不支援利用單一規則型配接器配置檔來剖析具有語言環境相關之時間戳記格式的日誌檔。如果應用程式產生的日誌檔所包含的時間戳記格式,會視產生時間戳記的語言環境而定,則這些日誌無法以單一的規則型配接器加以剖析。 比方說,如果在 en_US 系統上產生之日誌檔中的日期格式為 MM/dd/yy,在 ja_JP 系統上產生的日誌檔中為 yy/MM/dd, 而在 de_DE 系統上產生的日誌檔中為 dd.MM.yy,則需要有不同的配接器配置檔來剖析每一個日誌檔,且每一個日誌檔的剖析規則都有該語言環境正確的時間戳記格式。

1.1.6 當新的 GLA 配接器檔案在「通用日誌配接器」視景中執行時,「問題」視圖中會發生格式製作程式錯誤

當按一下重新執行配接器 ... 按鈕嘗試執行新的 GLA 配接器檔案時, 「通用日誌配接器」視景中的「問題」視圖會傳回下列錯誤:

IWAT0438E Common Base Event 格式製作程式 N76D20B0042411D98000E0362B33D6F0 無法建立 CommmonBaseEvent,因為遺漏必要的 sourceComponentId 內容。

這則訊息指出 GLA 的格式製作程式元件無法建立 Common Base Event,因為 sourceComponentId 是 Common Base Event 必要的內容但遺漏。如果要暫時解決這個問題,請新增剖析器規則到 sourceComponentId 屬性的配接器檔案中。請注意,situation 內容也是必要的 Common Base Event 內容。若要避免類似的錯誤, 請新增剖析器規則到 situation 內容的配接器中。只有 GLA 會建立含有所有必要內容的 CommonBaseEvents。

1.1.7 HTTP 伺服器存取日誌規則剖析器無法正確地剖析某些記錄

Bugzilla 問題:101545

HTTP 伺服器存取日誌規則剖析器無法正確地剖析下列記錄:

9.26.5.6 - - [09/Feb/2005:17:07:53 -0500] "VERSION" 501 -
9.26.5.6 - - [09/Feb/2005:17:14:52 -0500] "GET_CONFIG\r" 501 -
9.26.5.6 - - [09/Feb/2005:17:15:00 -0500] "< NSP/0.2 >" 400 299
9.26.5.6 - - [09/Feb/2005:17:22:40 -0500] "\x16\x03\x01" 501 -

前兩筆記錄和最後一筆記錄的嚴重性未正確剖析。某些其他記錄資料則未正確地擷取在延伸資料元素中。

1.2 Agent Controller

1.2.1 在 DBCS 系統上側寫 Java 應用程式時,主控台文字變成亂碼

如果您是採用 DBCS(例如,繁體中文、簡體中文、日文、韓文)系統,在 Eclipse 中側寫遠端 Java 應用程式時, 主控台輸出文字會變成亂碼。 這個問題可能會發生在任一平台上。

若要解決這個問題,在啟動遠端 Java 應用程式時,請加入 Java VM 引數 -Dconsole.encoding=<native encoding>。這麼一來,當您將主控台輸出從遠端送回 Eclipse 工作台時,編碼就正確了。 若要在 Windows 上判斷<原生編碼>,請開啟命令提示字元,然後執行 chcp 指令。 比方說,如果得到的結果是 950,則<原生編碼>的值是 MS950。 接著 Java VM 引數即是 -Dconsole.encoding=MS950。如果需要有效編碼的清單, 請參閱 Sun 的 Java 文件,"Internationalization" 一節之下的 "Supported Encodings"。

1.2.2 Agent Controller 檔案複本無法在 HP 11i 運作

由於檔案伺服器沒有啟動,因此檔案複本無法運作。 這是因為 JVM 程式庫 libjvm.sl 沒有在執行時期載入,因此無法執行檔案伺服器。

如果要暫時解決這個問題,必須使用 PHSS_30049 版或更新版的鏈結器修補程式。 修補程式 30049 的鏈結器版本如下所示:

/bin/ld:
        $修訂:1.6 $
        HP aC++ B3910B X.03.37.01 Classic Iostream Library
        HP aC++ B3910B X.03.37.01 Language Support Library
        ld_msgs.cat:$修訂:1.6 $
        92453-07 linker command s800.sgs ld PA64 B.11.38 REL 031217

如果要檢查版本號碼,請執行:what /bin/ld

若要列出已安裝的修補程式:swlist -l fileset

請對 "ld" 執行 Grep,以取得累進式 ID 和鏈結器工具修補程式的版本號碼。

1.2.3 Solaris 上的 Agent Controller 報告「找不到 sh: sysdef:」錯誤

Agent Controller 會使用 sysdef 指令來取得系統上共用記憶體緩衝區的大小上限。 如果 Agent Controller 無法執行 sysdef,則會使用 <RAServer>/plugins/org.eclipse.hyades.datacollection/pluginconfig.xml 檔中指定的 dataChannelSize="30M"。下述錯誤會在啟動 RAServer.exe 的主控台上報告出來:

找不到 sh: sysdef:
如果要暫時解決這個問題,請在 PATH 變數中加上含有 sysdef/usr/sbin 目錄。

1.2.4 在 Linux 上以 Sun JVM 執行的 Agent Controller 會進入無限迴圈

在 Linux 機器上以 Sun 1.4.2_04 JVM 執行 Agent Controller 時,引擎會進入無限迴圈。 下列訊息會記載到 servicelog.log 中且最後三行會持續重複, 直到發出 kill 指令來停止 RAServer 程序為止:
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION" text="正在啟動服務"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"             text="順利載入外掛程式:org.eclipse.hyades.datacollection"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"             text="順利載入外掛程式:org.eclipse.hyades.logging.parsers"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"             text="順利載入外掛程式:org.eclipse.hyades.test"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"             text="作用中的配置設為:預設值"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"             text="已載入的配置:預設值"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"             text="服務已順利啟動"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="正在停止伺服器"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="內部伺服器已關閉"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="外部伺服器已關閉"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="正在停止伺服器"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="內部伺服器已關閉"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="外部伺服器已關閉"/>
如果要解時解決這個問題,請先將 LD_LIBRARY_PATH 設為指向所有 .so 檔, 再啟動 Agent Controller。比方說,在執行 RAServer 之前,先發出下面這個指令:
export LD_LIBRARY_PATH=/opt/j2sdk1.4.2_04/jre/lib/i386/server:/opt/j2sdk1.4.2_04/jre/lib/i386

1.2.5 不允許在一部機器上有多個 Agent Controller 實例

一部機器只能安裝一個 Agent Controller 的實例。也就是說,如果您已經安裝該引擎,或是另一項產品所附的延伸版引擎,就必須先將該實例解除安裝, 才能讓新實例正確運作。 比方說,某些 IBM WebSphere Studio 或 IBM Rational 產品,或來自 developerWorks 的「自主運算工具箱」, 會將 Agent Controller 的選用安裝併入 Agent Controller 名稱之下。

1.2.6 當遠端伺服器上找不到檔案時,檔案轉送引擎不會報告 FileNotFoundExceptions

當您嘗試從遠端檔案伺服器對不存在的檔案執行 GET 作業時,檔案轉送通訊協定不會報告 FileNotFoundException。 反之,系統會通知您已順利轉送大小為 0 的檔案。如果 GET 作業之後傳回大小為 0 的檔案,可能是因為檔案不存在於遠端伺服器上,或是因為檔案存在且大小為 0。 目前,轉送通訊協定不會區分這兩種可能性。

1.2.7 在 iSeries 於安全模式下執行 Agent Controller

在 iSeries 於安全模式下執行 Agent Controller 需要有特殊的帳戶權限。用來啟動 Agent Controller 工作 "RASTART" 的使用者帳戶應該具有下列特殊權限 "*SECADM、*ALLOBJ"。 您可能需要利用指令 "WRKUSRPRF" 來更新使用者設定檔,以加入這些權限。

1.2.8 在同步監視多個代理程式時,不會收集資料

有時候在同步監視兩個以上與單一程序相關聯的代理程式時, 不會收集其中一個代理程式的資料。其中一個代理程式的資料通道會無法適當地起始設定, 因此沒有資料可以從該代理程式傳回用戶端。

如果要暫時解決這個問題,請一次只針對一個程序監視一個代理程式。

1.2.9 在關閉 Agent Controller 時發生分段違規

Bugzilla 問題:99788

在關閉 Agent Controller 時,報告了分段違規。除了中斷顯示之外,並沒有其他影響。不需要任何動作。Red Hat Enterprise Linux 3.0 更新版 4 會報告這個分段違規。

1.2.10 側寫應用程式時發生「記憶體不足」錯誤

Bugzilla 問題:57786

在啟動應用程式,且該應用程式是以 TPTP 的「側寫和記載」視景連接並監視時, 如果指定了 JVM 引數 -Xmxnnn 和 -XrunpiAgent,JVM 可能會發出「記憶體不足」的錯誤。Agent Controller 配置中之「Java 側寫代理程式」的 dataChannelSize 屬性設定, 可能會影響 JVM 可用的記憶體量,因而導致「記憶體不足」的錯誤。如果要暫時解決這個問題, 請降低「Java 側寫代理程式」的 -Xmx 值或 dataChannelSize 值或兩者。

1.2.11 由代理程式收集的資料不會到達用戶端

Bugzilla 問題:73668

有時當代理程式收集資料時,資料不會傳送到監視該代理程式的用戶端。 Agent Controller servicelog.log 檔中的下列 CommonBaseEvent 訊息會顯示問題的原因:

msg="共用記憶體配置失敗:-518"

無法配置用來作為從代理程式傳送資料到 Agent Controller 之資料通道的共用記憶體緩衝區。 當 Agent Controller 重新啟動時,會重複使用共用記憶體緩衝區名稱。在前次使用之後,系統有時不會完全清除共用記憶體緩衝區。當您嘗試配置的緩衝區名稱先前未清除,則配置會失敗。 如果要暫時解決這個問題,請重新執行監視作業, 並使用不同的共用記憶體緩衝區名稱。

1.2.12 如果某個代理程式在含有多個代理程式的程序中執行,則終止該代理程式不會順利完成

Bugzilla 問題:100870

當您嘗試終止的代理程式是在具有多個代理程式的程序中執行時, 會順利終止程序,但程序的狀態仍會維持「未終止」。在這種情況下,重複嘗試終止代理程式也無法未順利完成。

如果要暫時解決這個問題,請於程序層次而非代理程式層次終止代理程式程序。

1.2.13 要求同層級監視作業在 EBCDIC 平台無法運作

要求同層級監視作業在 EBCDIC 平台無法運作。目前在 TPTP 3.3 沒有暫行解決方法。這個限制已於 TPTP 4.0 移除。

1.3 日誌和追蹤分析器

1.3.1 localhost 不支援連續日誌監視作業

「日誌和追蹤分析器」不支援透過 localhost 進行連續日誌監視作業。不過,如果您要持續監視本端日誌檔, 您可以透過迴路介面 (127.0.0.1),如此可以利用本端日誌檔來模擬遠端匯入。在這種情況下即可隨時終止記載代理程式, 來避免 UI 當掉。

為了透過迴路匯入或持續監視,必須啟動 Agent Controller(從 localhost 匯入則不一定需要)。

1.3.2 無法開啟記載範例 Readme

當您建立記載範例專案(檔案 > 新建 > 範例)時, 系統瀏覽器中應該開啟一個 Readme 檔。不過,如果未正確地設定工作台的檔案關聯喜好設定, 則可能不會開啟該檔案。

若要修正這個問題,請選取視窗 > 喜好設定,然後選取工作台 > 檔案關聯,移至「檔案關聯」喜好設定頁面。 在檔案類型清單中,選取 .html。在關聯的編輯器清單中,按一下新增。選取外部程式按鈕,然後選取您的預設瀏覽器。 按一下確定。按一下確定來套用新的喜好設定。

1.3.3 如果 Agent Controller 未正確啟動,則含有過濾器的「遠端日誌匯入」無法運作

Bugzilla 問題:95615

如果從非 Windows 系統匯入日誌檔的要求指定了過濾器, 當 Agent Controller 未正確啟動時,會顯示以下訊息:

「嘗試匯入日誌檔 /home/user/app.log 時發生錯誤。
原因:[Ljava.lang.StackTraceElement;@538c718」

這個錯誤會擲出下列異常狀況,且會記載到 .log 檔中。 在 .log 檔尋找這個異常狀況時,也會指出 Agent Controller 未正確啟動:

org.eclipse.hyades.internal.execution.core.file.ServerNotAvailableException: 
java.net.ConnectException: 已拒絕連線:連接

請務必先將含有執行檔程式庫的 JRE 目錄(如:libjvm.so)加入系統適當的程式庫路徑環境變數中, 再啟動 Agent Controller。 請參閱位於 Agent Controller 安裝目錄下的 getting_started.html 檔,以取得詳細資料。

1.3.4 即使 Agent Controller 未啟動,遠端日誌匯入程序也會留在「存活」狀態

Bugzilla 問題:100084

如果 Agent Controller 不在遠端系統上執行時,嘗試匯入遠端日誌, 會顯示「連線失敗 ...」的錯誤訊息,但列在「日誌導覽器」窗格中「日誌」之下的日誌匯入程序仍會標示為「存活」, 但實際上該程序已完成。如果要暫時解決這個問題, 請在遠端系統上啟動 Agent Controller,然後嘗試以相同的「目的地」配置重新匯入同一個日誌。這時該程序即會顯示正確的狀態。

1.3.5 匯入某些 HTTP 伺服器存取日誌可能會產生「字串索引超出範圍」的錯誤

Bugzilla 問題:100979

以靜態剖析器匯入某些 HTTP 伺服器存取日誌時,可能會於剖析所有記錄之前即停止, 並顯示如下的訊息:

IWAT0030E 在執行遠端日誌剖析器時發生錯誤
"org.eclipse.hyades.logging.adapter.config.StaticParserWrapper": IWAT0412E
剖析日誌檔 /home/userId/logs/access.log 時發生錯誤。
IWAT0357E 剖析 /home/userId/logs/access.log 檔時發生異常狀況:
org.eclipse.hyades.logging.parsers.LogParserException:IWAT0054E 剖析存取日誌時發生錯誤。
IWAT0306E 剖析行號 1535 時發生錯誤:

9.26.5.6 - - [09/Feb/2005:17:07:53 -0500] "VERSION" 501 -
字串索引超出範圍:-2。

HTTP 伺服器存取日誌的靜態剖析器無法剖析不含檔名的日誌記錄。
這類記錄的例子如下:
9.26.5.6 - - [09/Feb/2005:17:07:53 -0500] "VERSION" 501 -

如果要暫時解決這個問題,請使用規則型剖析器來匯入日誌檔。

1.3.6 於 DBCS 系統匯入「Microsoft Windows 系統」事件日誌時,某些事件中有無法讀取的資料

Bugzilla 問題:95077

從「雙位元組字集」(DBCS) 系統匯入「Microsoft Windows 系統」事件日誌時, 可能會導致「日誌視圖」中顯示一些 Common Base Events,其中含有遺漏或無法讀取的 msg 值。

1.3.7 匯入空的日誌時,發生 NullPointerException

Bugzilla 問題:100743

如果匯入空的日誌,或者使用的匯入過濾器會過濾掉所有的日誌事件, 則「日誌視圖」會是空的,且可能會擲出 NullPointerException(在 XMLLoader.endElement 中)。 請檢查日誌檔或嘗試使用另一個可載入某些事件的過濾器。

1.3.8 匯入「Windows 應用程式」事件日誌會產生 Common Base Event 格式化錯誤

Bugzilla 問題:101718

有時在匯入「Microsoft Windows 應用程式」事件日誌時,會顯示以下訊息:

IWAT0027E 匯入指定的日誌檔時發生錯誤。
IWAT0412E 剖析日誌檔空值時發生錯誤。
IWAT0438E Common Base Event 格式製作程式 N6B1EE3005B511D880008CD5D1F4FA98 無法
建立 CommmonBaseEvent,因為遺漏必要的 creationTime 內容。

日誌剖析器無法適當地剖析某些日誌記錄。不過,大部分的日誌記錄還是會匯入,並顯示在「日誌」視圖中。

1.3.9 如果指定了無效的日誌檔名稱,從遠端 HP-UX 系統匯入日誌會當掉

Bugzilla 問題:101491

在從遠端 HP-UX 系統匯入日誌時,如果指定了無效的日誌檔名稱, 匯入作業可能會永遠無法結束。工作狀態列會顯示 "正在匯入日誌檔...",且進度指標會持續捲動且不會顯示錯誤訊息。 處於這種狀態的日誌匯入工作無法取消。若要停止日誌匯入工作,請停止 Eclipse 工作台。如果要暫時解決這個問題,請務必指定正確的日誌檔名稱。

1.4 Probekit

不適用

1.5 側寫工具

1.5.1 使用 IBM JDK 1.4.1 時,無法進行記憶體回收

Bugzilla 問題:56182

如果使用者的應用程式要佔用相當大量的資料堆空間, 這時候當您要求收集物件參照執行 GC 時, 可能會讓 JVM 毀損,而出現下面這則錯誤訊息:

 **記憶體不足,正在中止**

*** 緊急情況:JVMCI023:無法配置記憶體來收集 jvmpi_heap_dump 中的資料堆傾出

程式異常終止

如果目前在執行時有用到 -Xmx 參數,不妨去掉這個參數,看看能不能暫時解決這個問題。

1.5.2 使用 Sun JDK 時,有的方法呼叫無法追蹤到

Bugzilla 問題:69051

在 Windows 使用 Sun JDK 時,Java 程式中的某些方法呼叫,並沒有被 JVMPI 追蹤到。

這個問題沒有已知的暫行解決方法。

1.5.3 在 Solaris 利用 Sun JDK 1.4.x 或在 HP 利用 HP JDK 1.4.x 進行側寫,可能會導致 JVM 當掉

Bugzilla 問題:56404
在 Solaris 利用 Sun JDK 1.4.x 或在 HP 利用 HP JDK 1.4.x 進行側寫,可能會導致 JVM 當掉。

Sun 的問題是由於 Sun JVM 的錯誤所導致。如果要暫時解決這個問題,只要採用下列一個側寫集就好:

如果您組合使用了這些側寫集,或開啟了「顯示實例層次」資訊,就會發生這個問題。另外,您可以升級至 Sun JDK 1.4.2_08-b03 建置版,其中已修正這個問題。

HP JDK 的錯誤已透過 JDK 1.4.2_04 修正。HP 唯一的解決方式是升級至這個 JDK 版本或更新的版本。

1.5.4 在 Solaris 上以獨立式模式執行,而且 STACK_INFORMATION=contiguous 時,可能會毀損

Bugzilla 問題:50090
在 Solaris 上進行側寫作業時,可能無法進行獨立式側寫。 只有當 STACK_INFORMATION=contiguous(或 boundaryAndContiguous),而且 TRACE_MODE=full 時,才會發生這個問題。 這個問題可能會讓您的 JVM 毀損。

如果要暫時解決 STACK_INFORMATION=contiguous 的這個問題,請設定 TRACE_MODE=noObjectCorrelation。 只要 STACK_INFORMATION=none 或 STACK_INFORMATION=normal 時,就不會發生這個問題。

1.5.5 WAIT 和 WAITED 事件的逾時值是負值

Bugzilla 問題: 63969

當您以 IBM 1.4.2 JDK 執行,且採用 jvmpi 設定檔選項 'MONITOR_MODE=all'(獨立式模式)時, 其追蹤中的 monitorWait 和 monitorWaited 元素可能會有負的逾時屬性。它們其實是非常大的逾時值強制轉型,相當於正 64 位元的整數。 這個錯誤是 JDK 錯誤所產生的結果。

JDK 的錯誤已透過 IBM JDK 1.4.2 SR1a 修正。解決方式就是升級至這個 JDK 層次或更新的版本。

1.5.6 使用 IBM JDK 1.4.2 所得出的監視器傾出不正確

Bugzilla 問題: 6519372180

由於 JDK 的錯誤,在獨立式模式下執行「測試和效能平台」並採用 jvmpi 設定檔選項 'MONITOR_MODE=all' 時,可能會得到不正確的監視器傾出。 尤其是錯誤 65193,這是在使用 '-Xj9' VM 引數時發生。

1.5.7 使用 JIT 列入時的方法數不正確

Bugzilla 問題:70660(以「不修正」結案)

如果您懷疑在分析工具中看到的方法數太少, 請關閉 JIT 列入(如果您有使用它)。只有在 IBM Java 2 Runtime Environment 1.4.2 版上啟用 JIT 時, 才會發生這個問題。

這個問題唯一的暫行解決方法是關閉列入功能。如果要執行這項作業, 請設定下列環境變數:

JITC_COMPILEOPT=NINLINING

1.5.8 在 AIX 和 Solaris 中的方法層次 CPU 時間統計資料限制

在 TPTP 3.0 和 4.0 中,可收集方法層次的 CPU 時間統計資料。 您可以選擇性地在「方法統計資料」視圖或「方法呼叫」表格中的另一個直欄中, 檢視方法層次的 CPU 時間統計資料。 這項特性的平台限制如下:

AIX 4.3 不支援報告方法層次的 CPU 時間統計資料。

在 AIX 5.1 版中,報告方法層次的 CPU 時間統計資料需要匯出環境變數 "AIXTHREAD_ENRUSG=ON"。

Solaris 目前不支援方法層次的 CPU 時間統計資料特性。

1.5.9 在 Linux 中側寫到現有的設定檔會失敗

Bugzilla 問題:95803

在 Linux 平台上側寫到現有的設定檔會失敗。程式碼中使用了無效的路徑分隔字元, 因而產生 FileNotFoundException。

如果要暫時解決這個問題,請側寫到新的檔案而非現有的設定檔。

1.5.10 匯入從無監視器型的側寫所產生的設定檔

在從無監視器型的側寫產生設定檔時, 檔案無法適當地匯入 Eclipse 工作台,因為遺漏最上層的 <TRACE> 元素。

暫行解決方法是先手動編輯設定檔,於設定檔的開頭加入 <TRACE> 字串,並在尾端加入 </TRACE> 字串, 再匯入 Eclipse 工作台中。

1.5.11 在異常關閉工作台之後,會顯示重複的過濾器視圖

Bugzilla 問題:97894

如果工作台毀損或異常關閉,「追蹤和日誌」過濾器可能不會適當地儲存, 導致在重新啟動工作台時需要重建過濾器。因此,檢視過濾器清單中即會顯示重複的過濾器。

若要移除重複的過濾器,請利用「管理過濾器精靈」(可從「檢視」下拉功能表取得)來刪除過濾器。

1.5.12 「釋出記憶體」動作可能會無聲地失敗

「釋出記憶體」動作可能會無聲地失敗。如果發生失敗,您可能需要關閉再重新開啟「側寫和記載」視景。

1.5.13 如果選取了執行歷程 > 完整圖形式詳細資料但未編輯, 則會設定不正確的代理程式選項。

Bugzilla 問題:99492

如果在「設定檔啟動」配置精靈的「側寫」標籤之下選取了側寫集「執行歷程 - 完整圖形式詳細資料」, 但未編輯任何內容,則收集的側寫資料會多於所需的資料。 系統也會收集額外的側寫資料(如:物件配置資料)。

如果要暫時解決這個問題,請在選取「執行歷程 - 完整圖形式詳細資料」側寫集之後按一下編輯, 並在每一頁按下一步來逐步執行精靈頁面。在往前執行完精靈之後,按一下完成來更新側寫集的設定值。

1.5.14 以套件層次過濾功能匯入設定檔會顯示空的視圖

Bugzilla 問題:100334

如果選取了「記憶體分析」(側寫類型)來產生設定檔, 事件不會依時間順序儲存在設定檔中。在隨後於套件層次利用過濾功能匯入設定檔時, 這會導致遺失套件之類的失敗。

如果要暫時解決這個問題,請於套件層次匯入設定檔但不設定任何過濾功能; 匯入完成之後,再於統計資料視圖中過濾資料。

1.5.15 側寫模式顯示的資料多於預期

當以下列側寫類型側寫應用程式時:不含實例層次資訊的「基本記憶體分析」, 以及含執行流程圖形式詳細資料和不含實例層次資訊的「執行時間分析」, 當您選取「實例層次資訊」工具列按鈕時,實例層次資訊會顯示在「執行統計資料」視圖中。

1.6 統計主控台

不適用

1.7 測試

1.7.1 一般測試問題

1.7.1.1 無法在 iSeries 進行 JUnit、手動和 URL 測試

Bugzilla 問題:68899

1.7.1.2 存取資料儲存池

Bugzilla 問題:68911
從測試來說明存取資料儲存池的文件遺漏了一個步驟, 且包含的程式碼範例無法完整運作。

您必須將下列 JAR 檔加到 Java 建置路徑中。([ECLIPSE_HOME] 是指已經安裝 Eclipse 的目錄。

	[ECLIPSE_HOME]/plugins/org.eclipse.hyades.models.common_3.0.0/common_model.jar
	[ECLIPSE_HOME]/plugins/org.eclipse.hyades.test.datapool_3.0.0/datapool_api.jar
	[ECLIPSE_HOME]/plugins/org.eclipse.emf.ecore_2.0.0/runtime/ecore.jar
	[ECLIPSE_HOME]/plugins/org.eclipse.emf.common_2.0.0/runtime/common.jar
	

下面這個程式碼片段,將示範如何存取資料儲存區,以及如何適當擷取資訊。  

	IDatapoolFactory dpFactory = new Common_DatapoolFactoryImpl();
	IDatapool datapool = dpFactory.load(new File("d:\\hyades3.0\\workspace\\testproj\\dpoo1.datapool"), false);
	IDatapoolIterator iter = dpFactory.open(datapool, "org.eclipse.hyades.datapool.DatapoolIteratorSequentialPrivate");
	iter.dpInitialize(datapool, -1);

	while (!iter.dpDone())
	{
		String firstName = iter.dpCurrent().getCell("First Name").getStringValue();
		// 這裡是您的程式碼
		iter.dpNext();
	}
	

1.7.2 URL 測試

1.7.2.1 將 URL 測試當成 JUnit 測試執行

URL 測試可以當成 JUnit 測試執行。其方法是,將下列項目加到含有 URL 測試之專案的 Java 建置路徑中:

      [ECLIPSE_HOME]/plugins/org.eclipse.hyades.logging.core_3.3.0/hlcore.jar
      [ECLIPSE_HOME]/plugins/org.eclipse.hyades.logging.core_3.3.0/hlcbe101.jar
      [ECLIPSE_HOME]/plugins/org.eclipse.emf.ecore_2.0.2/runtime/ecore.jar
      [ECLIPSE_HOME]/plugins/org.eclipse.hyades.logging.java14_3.3.0/hl14.jar
      [ECLIPSE_HOME]/plugins/org.eclipse.emf.common_2.0.1/runtime/common.jar
	

1.7.2.2 執行 URL 測試範例

該類別和 Java 檔已從 URL 測試範例中移除,以避免編譯問題。 它並不適合用來執行。
 

返回主要 Readme 檔