Herramientas de perfilado y anotación - notas de release


1.0 Limitaciones
   1.1 Los filtros de perfilado fallan en determinadas condiciones

1.0 Limitaciones

1.1 Los filtros de perfilado fallan en determinadas condiciones

Problema:

El funcionamiento de un filtro fallará si existe un filtro B como el siguiente:

B está colocado antes de A y las clases que coinciden con B también coinciden con A.

Por ejemplo, si los filtros son los siguientes:

ClassA* method* INCLUDE * * EXCLUDE

el primer filtro incluirá erróneamente el método initialize() de ClassABC, debido a que su nombre de clase coincide con el patrón classA*, aunque el nombre de método no coincide con el patrón de método. Esto también implica que la siguiente especificación también provocará la inclusión de todos los métodos que empiecen por ClassA:

ClassA* method* INCLUDE ClassA* * EXCLUDE

ya que el segundo filtro siempre se pasa por alto.

Solución:

Por omisión, si una clase o método no coincide con ningún filtro, se incluye. Por tanto, no utilice nunca un filtro INCLUDE; utilice sólo filtros EXCLUDE. Dado que sólo se tiene en cuenta el primer patrón de clase coincidente, sólo puede especificarse un filtro EXCLUDE por clase y, en este filtro, puede utilizarse un patrón de método para especificar los métodos que deben excluirse, de la forma siguiente:

ClassA method* EXCLUDE ClassB call* EXCLUDE

Volver al archivo readme principal