側寫和日誌記載工具 - 版本注意事項


1.0 限制
   1.1 在某些情況下,側寫過濾器會失敗

1.0 限制

1.1 在某些情況下,側寫過濾器會失敗

問題:

如果存在 B 過濾器,且情況如下,A 過濾器就會失敗:

B 放在 A 前面,符合 B 的類別也符合 A。

比方說,如果過濾器看起來如下:

ClassA* method* INCLUDE * * EXCLUDE

第一個過濾器就會錯誤地併入 ClassABC 的 initialize() 方法,因為它的類別名稱符合 classA* 型樣,即使方法名稱不符合方法型樣也是如此。 這也表示下列情況會併入開頭為 ClassA 的所有方法:

ClassA* method* INCLUDE ClassA* * EXCLUDE

因為第二個過濾器永遠會被忽略。

暫行解決方法:

依預設,如果類別和方法不符合任何過濾器,就會併入它。 因此,永遠不要使用 INCLUDE 過濾器,請只用 EXCLUDE 過濾器。 由於只有第一個相符的類別型樣會起作用,因此,每個類別只能指定一個 EXCLUDE 過濾器, 在這個過濾器中,可以依照下列方式,利用一個方法型樣來指定要排除的方法:

ClassA method* EXCLUDE ClassB call* EXCLUDE

返回主 Readme 檔