測試和效能平台 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 持續剖析含標底的日誌檔,會使記錄遺漏
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 HP11i 上的 Agent Controller 檔案複本無法運作
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 不支援本端主機的持續日誌監視作業
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 系統匯入日誌檔,可能會使「日誌視圖」顯示不完整的資料。匯入作業可能提早停止,且「日誌視圖」中沒有顯示所有日誌記錄。將下列其中一個 IBM JDK 版本安裝在 z/OS 系統上時,就會發生這個問題:

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

  1. 編輯 Agent Controller 安裝目錄中的 plugins/org.eclipse.hyades.logging.parsers/config/pluginconfig.xml 檔。
  2. 將新參數加入 java.version 參數後面的 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 持續剖析含標底的日誌檔,會使記錄遺漏

Bugzilla 問題:97974

持續剖析內含標底區段的日誌檔,有時會使已剖析輸出遺漏記錄。更具體的說法是,當日誌檔附加了新記錄時,附加記錄的第一筆記錄未被剖析,因此,也未併入已剖析輸出中。當您在配接器配置檔中將環境定義實例配置為 continuousOperation="true" 時,如果日誌檔內含標底區段,就會發生這個問題。如果要暫時解決這個問題,您可以將環境定義實例配置為 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 屬性的配接器檔案中。請注意,狀況內容也是必要的 Common Base Event 內容。如果要避免類似的錯誤, 請將剖析器規則加入狀況內容的配接器中。只有 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 上判斷 <native encoding>,請開啟命令提示字元,然後執行指令 chcp。比方說,如果結果是 950<native encoding> 的值就是 MS950。Java VM 引數則是 -Dconsole.encoding=MS950。如需有效編碼的清單,請參閱 Sun 的 Java 文件「支援的編碼」(在「國際化」一節下面)。

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

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

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

/bin/ld:        $Revision: 1.1.4.1 $
HP aC++ B3910B X.03.37.01 Classic Iostream LibraryHP aC++ B3910B X.03.37.01 Language Support Library        ld_msgs.cat: $Revision: 1.1.4.1 $
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 Agent Controller 在 Solaris 上報告「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="Service starting"/>
<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"/>
如果要暫時解決這個問題,請先設定讓 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, 則可能會發出「記憶體用完」錯誤。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 不支援本端主機的持續日誌監視作業

「日誌和追蹤分析器」不支援透過本端主機來進行持續日誌監視作業。不過,如果您要持續監視本端日誌檔,您可以透過迴路介面 (127.0.0.1) 來模擬利用本端日誌檔進行遠端匯入。在此情況下,即可隨時終止記載代理程式,以免使用者介面發生懸滯的情形。

如果要透過迴路來匯入或持續監視,則必須啟動 Agent Controller(如果是從本端主機匯入便不需要)。

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: 已拒絕連線:連接

啟動 Agent Controller 之前,請先確定內含執行檔程式庫(例如:libjvm.so)的 JRE 目錄,已新增至系統的適當程式庫路徑環境變數。 請參閱放在 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

從「雙位元組字集」系統匯入 Microsoft Windows 系統事件日誌,可能會使「日誌視圖」中顯示某些 Common Base Events,且會遺漏 msg 值或出現無法讀取的 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 建置(其中已修正這個問題)。

JDK 1.4.2_04 已修正這個 HP JDK 錯誤。在 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 錯誤所產生的結果。

IBM JDK 1.4.2 SR1a 已修正這個 JDK 錯誤。解決方案是升級至此 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 執行時期環境 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();		// your code here		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 檔

版權和注意事項