1.0 已知的問題和限制
1.1 通用日誌配接器
1.1.1 無法使用 IBM® 的 Java™ Runtime Environment (JRE) 1.4.1 版,來執行通用日誌配接器規則
1.2 資料收集引擎
1.2.1 在 DBCS 系統上側寫 Java 應用程式時,主控台文字變成亂碼
1.2.2 HP 11i 上的資料收集引擎檔案複本無法運作
1.2.3 Solaris 上的資料收集引擎報告「sh: sysdef: 找不到」錯誤
1.2.4 在 Linux™ 上以 Sun JVM 執行的資料收集引擎,進入一個無限迴圈中
1.2.5 代理程式延伸無法在 iSeries™ 系統上運作
1.2.6 一部機器不接受多個資料收集引擎實例
1.3 日誌和追蹤分析器
1.3.1 無法在側寫時設定工作路徑
1.3.2 只要一關閉側寫監視器,代理程式和程序就會遺失
1.3.3 可能無法重新整理視圖(根據側寫監視器中所選的項目而定)
1.4 Probekit
1.4.1 ProbeInstrumenter 程式從 JAR 檔除去整個 META-INF 目錄
1.4.2 ProbeInstrumenter 程式在操作某些類別時,擲出一個異常狀況
1.5 側寫工具
1.5.1 使用 IBM JDK 1.4.1 時,無法進行記憶體回收
1.5.2 使用 Sun JDK 時,有的方法呼叫無法追蹤到
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.6 統計主控台
1.7 測試
1.7.1 一般測試問題
1.7.1.1 無法在 iSeries 進行 JUnit、手動和 URL 測試
1.7.1.2 無法使用異質平台來進行測試的自動化部署和執行
1.7.1.3 以手動部署進行遠端執行
1.7.1.4 存取資料儲存區
1.7.2 Hyades URL 測試
1.7.2.1 測試導覽器中沒有顯示 URL 回應時間和命中率報告
1.7.2.2 URL 測試記錄器顯示「IWAT3042E 因發生異常狀況而中止記錄作業:空值」
1.7.2.3 將 URL 測試當作 JUnit 測試加以執行
1.7.2.4 執行 URL 測試範例
1.7.2.5 URL 測試範例 readme.html 參照了「元件測試」,但這是不正確的
2003 年發行的 IBM JDK 1.4.1,無法使用規則型 Apache 存取日誌剖析器。
當您執行 IBM 的 Java Runtime Environment (JRE) 1.4.1 版, 來使用通用日誌配接器;以及(或者)使用規則型日誌檔剖析器,將日誌檔匯入 Hyades 時, 必須使用 Service Release (SR2) 和以上的版本。
如果您是採用 DBCS(例如,繁體中文、簡體中文、日文、韓文)系統,在 Eclipse 中側寫遠端 Java 應用程式時, 主控台輸出文字會變成亂碼。 除了 Z/OS 和 iSeries™ 之外,所有的平台都有這個問題。
如果要暫時解決這個問題,請在啟動遠端 Java 應用程式時,加入一個 Java VM 引數 -Dconsole.encoding=UTF8。 這麼一來,當您將主控台輸出從遠端送回 Eclipse 工作台時,編碼就正確了。
由於檔案伺服器沒有啟動,因此檔案複本無法運作。 這是因為 JVM 程式庫 libjvm.sl 沒有在執行時期載入,因此無法執行檔案伺服器。
如果要暫時解決這個問題,必須使用 PHSS_30049 版或更新版的鏈結器修補程式。 修補程式 30049 的鏈結器版本如下所示:
/bin/ld:
$Revision:1.5 $
HP aC++ B3910B X.03.37.01 Classic Iostream Library
HP aC++ B3910B X.03.37.01 Language Support Library
ld_msgs.cat: $Revision: 1.5 $
92453-07 linker command s800.sgs ld PA64 B.11.38 REL 031217
如果要檢查版本號碼,請執行:what /bin/ld
如果要列示已經安裝的修補程式,請執行:swlist -l fileset
請對 "ld" 執行 Grep,以取得累進式 ID 和鏈結器工具修補程式的版本號碼。Hyades Data Collection Engine 會使用 sysdef 指令, 取得系統上的共用記憶體緩衝區大小上限。 如果資料收集引擎無法執行 sysdef, 則會改用 <RAServer>/plugins/org.eclipse.hyades.datacollection/pluginconfig.xml 檔所指定的 dataChannelSize="30M"。 下述錯誤會在啟動 RAServer.exe 的主控台上報告出來:
sh: sysdef: 找不到如果要暫時解決這個問題,請在 PATH 變數中加上含有 sysdef 的 /usr/sbin 目錄。
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION" text="Service starting"/>如果要暫時解決這個問題,請先設定讓 LD_LIBRARY_PATH 指向所有的 .so 檔,再啟動資料收集引擎。 比方說,在執行 RAServer 之前,先發出下面這個指令:
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Successfully loaded plugin: org.eclipse.hyades.datacollection"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Successfully loaded plugin: org.eclipse.hyades.logging.parsers"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Successfully loaded plugin: org.eclipse.hyades.test"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Active configuration set to: default"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Loaded configuration: default"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Service started successfully"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="Server stopping"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="Internal server closed"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="External server closed"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="Server stopping"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="Internal server closed"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="External server closed"/>
export
LD_LIBRARY_PATH=/opt/j2sdk1.4.2_04/jre/lib/i386/server:/opt/j2sdk1.4.2_04/jre/li
b/i386
代理程式延伸無法在 iSeries 系統上運作。
如果要暫時解決這個問題,請在 iSeries 機器上啟動資料收集引擎之前,先執行下面這個指令:
ADDLIBLE LIBNAME其中,LIBNAME 是指含有代理程式延伸碼的程式庫名稱。 此舉會讓資料收集引擎尋找並且載入程式庫。
一部機器只能安裝一個資料收集引擎實例。 也就是說,如果您已經安裝該引擎,或是另一項產品所附的延伸版引擎,就必須先將該實例解除安裝, 才能讓新實例正確運作。 比方說,有的 IBM WebSphere Studio 或 IBM Rational® 產品, 或 developerWorks® 的自主運算工具箱, 含有選擇性安裝的 Hyades Data Collection Engine,其名稱為 Agent Controller。
Bugzilla 問題: 61754
目前還無法在配置應用程式準備側寫時,設定任意的工作路徑。
「引數」標籤中,針對 Java 應用程式類型所提供的工作目錄欄位,
並沒有處理,也沒有被啟動程式從工作台正確傳送到資料收集引擎。
如果是外部 Java 應用程式類型,就沒有欄位可以指定工作路徑。
如果要暫時解決這個問題,請遵循下列步驟:
Bugzilla 問題: 51161
如果「側寫監視器」視圖中出現任何未儲存的資料(例如,代理程式或程序),
那麼當視圖關閉之後,它們也會跟著遺失。
建議您在關閉視圖之前,先將所有的內容儲存在側寫監視器。
附註:如果先開啟新的視景,再切回「側寫和記載」視景,這樣並不會遺失任何資料。
Bugzilla 問題: 71567
如果側寫監視器中的「以檢視器進行鏈結」選項停用時,
那麼只有當側寫監視器中目前所選的項目,對應到目前開啟的視圖時,
才能執行「重新整理視圖」動作(在同一個工具列上)。
如果要暫時解決這個問題,請執行下列一項:
但如果 JAR 檔的 META-INF 目錄含有 MANIFEST.MF 檔以外的檔案, 請遵循下列步驟,將那些檔案保留在您所操作的 JAR 檔中:
jar xf yourfile.jar META-INF
jar uf yourfile.jar META-INF
Bugzilla 問題:68435
在操作一些類別時,Probekit 的 "ProbeInstrumenter" 程式擲出一個異常狀況,並且出現下面這則錯誤訊息:
出現編號 4 位置 3 的探針套件異常狀況
導致這個異常狀況的其中一個原因是,在最後的可呼叫方法指令之後,後面又出現含有不可呼叫之位元組程式碼的一些方法。有些 Java 編譯器會產生這類程式碼。
這個問題目前沒有暫行解決方法。
如果使用者的應用程式要佔用相當大量的資料堆空間, 這時候當您要求收集物件參照或執行 GC 時, 可能會讓 JVM 毀損,而出現下面這則錯誤訊息:
**記憶體不足,正在中止**
*** 緊急情況:JVMCI023:無法配置記憶體來收集 jvmpi_heap_dump 中的資料堆傾出
程式異常終止
如果目前在執行時有用到 -Xmx 參數,不妨去掉這個參數,看看能不能暫時解決這個問題。
Bugzilla 問題: 69051
在 Windows 使用 Sun JDK 時,Java 程式中的某些方法呼叫,並沒有被 JVMPI 追蹤到。
這個問題沒有已知的暫行解決方法。
Bugzilla 問題:56404
在 Solaris 使用 Sun JDK 1.4.x 進行側寫,可能會讓 JVM 毀損。
這是由 Sun JVM 中的一個錯誤所導致。
如果要暫時解決這個問題,只要採用下列一個側寫集就好:
如果兩者一起使用,或者開啟了「顯示實例層次」資訊,就會發生問題。
Bugzilla 問題:
50090
在 Solaris 上進行側寫作業時,可能無法進行獨立式側寫。
只有當 STACK_INFORMATION=contiguous(或 boundaryAndContiguous),而且 TRACE_MODE=full 時,才會發生這個問題。
這個問題可能會讓您的 JVM 毀損。
如果要暫時解決 STACK_INFORMATION=contiguous 的這個問題,請設定 TRACE_MODE=noObjectCorrelation。 只要 STACK_INFORMATION=none 或 STACK_INFORMATION=normal 時,就不會發生這個問題。
Bugzilla 問題: 63969
當您以 IBM 1.4.2 JDK 執行,並且採用 Hyades jvmpi 設定檔選項 'MONITOR_MODE=all'(獨立式模式)時, 可能會在其追蹤當中的 monitorWait 和 monitorWaited 元素,看到負的逾時屬性。它們其實是非常大的逾時值強制轉型,相當於正 64 位元的整數。 這個錯誤是 JDK 錯誤所產生的結果。
由於 JDK 錯誤的緣故,在以獨立式模式執行 Hyades,並且採用 jvmpi 設定檔選項 'MONITOR_MODE=all' 時, 可能會得出不正確的監視器傾出。 尤其是錯誤 65193,這是在使用 '-Xj9' VM 引數時發生。
不適用
無法將測試自動部署/執行到在異質平台(Windows 到 Linux 或 Unix,反之亦然)上執行的遠端系統上。 如果您想知道如何在遠端執行測試,請參閱本文的遠端執行一節。
Bugzilla 問題:68910
測試的一般用法(URL、JUnit 或手動),是將工作台 (Eclipse UI) 安裝到 Windows 型的機器上,
以及在 Linux 或 Unix 系統上進行遠端執行。
目前無法跨平台進行自動化部署。
不過,仍然可以在遠端執行測試。
代表即將執行之測試的檔案,必須從建立它的系統,
轉送(最可能使用 FTP)到執行它的系統上。
您必須配置資料收集器或 RAC,讓它指向被轉送的測試資產。
在編譯測試的位元組程式碼時,它是儲存在 Java 專案的 bin 目錄下,也就是建立測試的地方。 下面就是一個範例:
[ECLIPSE_HOME]/workspace/project1/bin/test/URLTest.class
如果要將上述檔案套裝起來,在遠端系統上執行,其中一個方法就是建立一個 JAR 檔。 下列指令將示範這個步驟。
"cd [ECLIPSE_HOME]/workspace/project1/bin"
"jar -cf test.jar test"
這樣,就可以把 test.jar 檔轉送到遠端機器的資料收集器目錄結構。
接下來,就是調整 [RAC_HOME]/config/serviceconfig.xml 檔,讓它指向 test.jar,如下所示。
<AgentControllerEnvironment configuration="default">
...
...
<Variable name="CLASSPATH" position="append" value="%RASERVER_HOME%/test/test.jar"/>
</AgentControllerEnvironment>
當您從工作台啟動測試時,資料收集器的類別路徑會指向該測試位置,並且執行測試。
Bugzilla 問題:68911
說明從 Hyades 測試存取資料儲存區的文件中,漏了一個步驟,
其中所含的程式碼範例,無法完全運作。
您必須將下列 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();
// your code here
iter.dpNext();
}
Bugzilla 問題:68553
測試導覽器中沒有顯示 URL 回應時間和命中率報告。
您可以開啟專案,這些報告就是在這個專案下的「資源」視景中建立。
Bugzilla 問題:66199
如果 Eclipse 是以 '-Xj9' 引數加以啟動,
則在多次記錄作業之後,「記錄器控制」視圖就會顯示「IWAT3042E 因發生異常狀況而中止記錄作業:空值」。
如果要暫時解決這個問題,請關閉再重新開啟 Eclipse。
您可以把 Hyades URL 測試當作 JUnit 測試來執行。 其方法是,將下列項目加到含有 URL 測試之專案的 Java 建置路徑中:
[ECLIPSE_HOME]/plugins/org.eclipse.hyades.logging.core_3.0.0/hlcore.jar
[ECLIPSE_HOME]/plugins/org.eclipse.hyades.logging.core_3.0.0/hlcbe101.jar
[ECLIPSE_HOME]/plugins/org.eclipse.emf.ecore_2.0.0/runtime/ecore.jar
[ECLIPSE_HOME]/plugins/org.eclipse.hyades.logging.java14_3.0.0/hl14.jar
[ECLIPSE_HOME]/plugins/org.eclipse.emf.common_2.0.0/runtime/common.jar
URL 測試範例不會在建立之後直接執行。 您必須配置兩個成品,才能讓它順利執行。 成品的 CLASSPATH 變數應該指向機器上的工作區位置:
[ECLIPSE_HOME]/eclipse/workspace/URL Test Sample/bin
位置 1 的 ROOTDIR 變數,應該指向代表該工作區的目錄
[ECLIPSE_HOME]/workspace
URL 測試範例的預設名稱含有空格。 這可能會使某些作業系統發生問題。 您可以在建立範例時,更改其名稱。
Bugzilla 問題:68910
URL 測試範例網頁所參照的是線上說明「元件測試」這一節,但根本沒有這一節。 這個網頁應該是參照線上說明的「測試」一節。
返回主 Readme 檔