Los siguientes
mensajes de depuración ayudan a entender la ejecución de los nodos y
analizadores definidos por el usuario:
- BIP2233 y BIP2234: un par de
mensajes que se incluyen en el rastreo antes y después de que se invoque una
función de implementación de extensión definida por el usuario. Estos
mensajes informan de los parámetros de entrada y el valor devuelto.
Por ejemplo:
BIP2233 Invocando la función de
extensión definida por el usuario [nombre función] ([parámetros llamada función])
BIP2234
Devuelta de la función de extensión definida por el usuario [nombre
función] con el resultado: [resultado de llamada]Nota: En estos mensajes, una función de
implementación puede interpretarse como una función de
implementación en C o un método de implementación de Java.
BIP2308: un mensaje anotado cuando el
intermediario no ha podido cargar un archivo LIL.BIP2308 El archivo [nombre del archivo LIL]
no se ha podido cargar; código de retorno del sistema operativo [código de error
devuelto por el sistema operativo]

- BIP3904: un mensaje que se incluye en el rastreo antes de
invocar el método Java evaluate() de un nodo definido
por el usuario. Por ejemplo:
BIP3904 (para
Java): Invocando el método evaluate() del nodo (clase=[nombre clase nodo],
nombre=[etiqueta del nodo en el flujo]) donde nombre clase
nodo es el nombre de la clase de extensión Java definida por el usuario.
- BIP3905: un mensaje que se incluye en el rastreo antes
de invocar la función de implementación en C cniEvaluate
(miembro iFpEvaluate de CNI_VFT) de un nodo definido por el
usuario. Por ejemplo:
BIP3905 (para C):
Invocando la función de implementación cniEvaluate() del nodo (clase=[nombre
clase nodo], nombre=[etiqueta del nodo en el flujo]), donde
nombre clase nodo es el nombre de la clase de extensión
definida por el usuario que proporciona la extensión definida por
el usuario al llamar a cniDefineNodeClass de C.
- BIP4142: un mensaje de depuración que se detecta
cuando se invoca una función de utilidad de nodo definido por el usuario,
donde la función de utilidad altera el estado de un elemento de sintaxis. Esto
incluye todas las funciones de utilidad que empiezan con
cniSetElement*, donde * representa todos los nodos con
esa raíz. Por ejemplo:
BIP4142 Evaluando cniSetElement [tipo
de identificador de elemento]. Cambiando el valor de
[valor antes del cambio del usuario] a [valor después del cambio del
usuario]
- BIP4144 y BIP4145: un par de
mensajes incluidos en el rastreo por ciertas funciones de implementación
que, cuando las invoca una extensión definida por el usuario, pueden
modificar el estado interno de un objeto de intermediario de mensajes. Los
posibles objetos de intermediario de mensajes incluyen elementos de sintaxis,
nodos y analizadores. Estos mensajes informan del parámetro de entrada que
se proporciona al método invocado y el valor devuelto. Por ejemplo:
BIP4144 Función entrada
[nombre función] ([parámetros llamada función])
BIP4145
Saliendo de la función [nombre función] con el resultado: [resultado a
devolver]
En estos mensajes, una función de
implementación puede interpretarse como una función de
implementación en C o un método de implementación de Java.
Las
funciones de implementación en C que invocan los mensajes BIP4144 y
BIP4145 incluyen:
Para analizadores definidos por el usuario |
Para nodos definidos por el usuario |
cpiCreateParserFactory |
cniCreateElement* |
cpiDefineParserClass |
cniDeleteMessage |
cpiAppendToBuffer |
cniAdd* |
cpiCreateElement |
cniDetach |
cpiCreateAndInitializeElement |
cniCopyElementTree |
cpiAddBefore |
cniFinalize |
cpiAddAfter |
cniWriteBuffer |
cpiAddAsFirstChild |
cniSql* |
cpiAddAsLastChild |
cniSetInputBuffer |
cpiSetNameFromBuffer |
cniDispatchThread |
(* representa todos los nodos con esa raíz; por ejemplo,
cniAdd* incluye cniAddAfter, cniAddasFirstChild, cniAddasLastChild y
cniAddBefore.)
Los métodos Java que invocan los mensajes
BIP4144 y BIP4145 son:
Para nodos definidos por el usuario |
com.ibm.broker.plugin.MbElement.CreateElement* |
com.ibm.broker.plugin.MbElement.add* |
com.ibm.broker.plugin.MbElement.detach |
com.ibm.broker.plugin.MbElement.copyElementTree |
- BIP4146: un mensaje de depuración que se incluye en
el rastreo cuando se invoca una función de utilidad de analizador definido
por el usuario, donde la función de utilidad altera el estado de un
elemento de sintaxis. Esto incluye todas las funciones de utilidad que
empiezan con cpiSetElement*, donde * representa todos los
nodos con esa raíz. Por ejemplo:
BIP4146 Evaluando cpiSetElement
[tipo de identificador de elemento]. Cambiando el valor de
[valor antes del cambio del usuario] a [valor después del cambio del
usuario]
Para obtener más información sobre la API en C
definida por el usuario, consulte API de analizador definido por el usuario en lenguaje C y
API de nodo definido por el usuario en lenguaje C.
- BIP4147: un mensaje de error que se incluye en el
rastreo cuando una extensión definida por el usuario pasa un objeto de
entrada no válido a una función de API de utilidad de extensión definida
por el usuario. Por ejemplo:
BIP4147 Un
parámetro de entrada de la extensión definida por el usuario ha fallado la
comprobación de validación de depuración. El parámetro de entrada [nombre
parámetro] pasado a la función [nombre función] no es un objeto válido.
- BIP4148: un mensaje de error que se incluye en el
rastreo cuando una extensión definida por el usuario provoca daños en un
objeto de intermediario. Por ejemplo:
BIP4148 La extensión
definida por el usuario ha dañado el objeto de intermediario. La función
[nombre de función] ha dañado el objeto de intermediario pasado como
parámetro [nombre parámetro].
- BIP4149: un mensaje de error que se incluye en el
rastreo cuando una extensión definida por el usuario pasa un puntero de
datos de entrada no válido a una función de API de utilidad de extensión
definida por el usuario. Por ejemplo:
BIP4149
Un parámetro de entrada de extensión definida por el usuario ha
fallado la comprobación de validación de depuración. El parámetro de
entrada [nombre parámetro] pasado a la función [nombre función] es un
puntero NULO.
- BIP4150: un mensaje de error que se incluye en el
rastreo cuando una extensión definida por el usuario pasa datos de entrada
no válidos a una función de API de utilidad de extensión definida por el
usuario. Por ejemplo:
BIP4150 Un parámetro de
entrada de la extensión definida por el usuario ha fallado la comprobación
de validación de depuración. El parámetro de entrada [nombre parámetro]
pasado a la función [nombre función] no tiene un valor válido.
- BIP4151: un mensaje de depuración que se incluye en
el rastreo cuando cniGetAttribute2 o
cniGetAttributeName2 establece el código de retorno en un
valor inesperado. Los valores esperados son CCI_SUCCESS,
CCI_ATTRIBUTE_UNKNOWN y CCI_BUFFER_TOO_SMALL. Cualquier otro valor es un
valor inesperado. Por ejemplo:
BIP4151 La
función de implementación [nombre función] de la extensión definida por el
usuario ha devuelto un valor inesperado.
- BIP4152: un mensaje de depuración que se incluye en
el rastreo cuando cniGetAttribute2 o cniGetAttributeName2
establece el código de retorno en CCI_BUFFER_TOO_SMALL, y luego se
llama de nuevo a cniGetAttribute2 o
cniGetAttributeName2, esta vez con el almacenamiento
intermedio de tamaño correcto, pero sin embargo el código de retorno sigue
establecido en CCI_BUFFER_TOO_SMALL. Por ejemplo:
BIP4152
La función de implementación [nombre función] de la extensión
definida por el usuario ha devuelto CCI_BUFFER_TOO_SMALL en el segundo
intento.