As mensagens de depuração a seguir ajudam a compreender a execução de nós e analisadores definidos pelo usuário:
- BIP2233 e BIP2234: um par de mensagens que são rastreadas antes e depois da chamada de uma função de implementação da extensão definida pelo usuário.
Essas mensagens informam os
parâmetros de entrada e o valor retornado.
Por exemplo:
BIP2233 Chamando a função de extensão definida pelo
usuário [nome da função] ([parâmetros de chamadas de função])
BIP2234 Retornada
da função de extensão definida pelo usuário [nome da função] com o resultado: [resultado
da chamada]Nota: Nessas mensagens, uma função de implementação pode ser interpretada como uma função de implementação C ou um método de implementação Java.
BIP2308: uma mensagem que é registrada quando o intermediário
falha ao carregar um arquivo LIL.BIP2308 O arquivo [nome do arquivo
LIL] não pôde ser carregado; código de retorno do sistema operacional [código de erro retornado
do sistema operacional]

- BIP3904: uma mensagem rastreada antes de chamar o método evaluate() Java de um nó definido pelo usuário. Por exemplo:
BIP3904 (para
Java): Chamando o método evaluate() do nó (class=[node class name], name=[label
of node in flow]) em que nome da classe do nó é o nome da classe de extensão Java definida pelo usuário.
- BIP3905: uma mensagem rastreada antes de chamar a função de implementação C cniEvaluate (membro iFpEvaluate de CNI_VFT) de um nó definido pelo usuário. Por exemplo:
BIP3905 (para
C): Chamando a função de implementação cniEvaluate() do nó (class=[node
class name], name=[label of node in flow]), em que nome da classe do nó é o nome da classe de extensão definida pelo usuário que é fornecido pela extensão definida pelo usuário enquanto chama
C cniDefineNodeClass.
- BIP4142: uma mensagem de depuração rastreada durante a chamada
de uma função de utilitário do nó definido pelo usuário, onde a função de utilitário altera
o estado de um elemento de sintaxe. Isto inclui todas as funções de utilitário que começam com
cniSetElement*, em que * representa todos os nós com esse
stem.Por exemplo:
BIP4142 Avaliando cniSetElement [tipo de
identificador de elemento]. Alterando um valor de [valor antes da alteração do usuário] para [valor após a alteração do usuário]"
- BIP4144 e BIP4145: um par de mensagens que é rastreada por determinadas funções de implementação que, quando chamada por uma extensão definida pelo usuário, pode modificar o estado interno de um objeto do intermediário de mensagens. Os objetos
possíveis do intermediário de mensagens incluem elemento, nó ou analisador de sintaxe. Essas mensagens relatam o parâmetro de entrada
fornecido para o método chamado e o valor retornado. Por exemplo:
BIP4144 Função digitada [function name] ([function call parameters])
BIP4145 Saindo a função [function name] com o
resultado: [result to be returned]
Nessas mensagens, uma função de implementação pode ser interpretada como uma função de implementação C ou um método de implementação Java.
As funções de implementação C que chamam mensagens BIP4144 e BIP4145 incluem:
Para analisadores definidos pelo usuário |
Para nós definidos pelo usuário |
cpiCreateParserFactory |
cniCreateElement* |
cpiDefineParserClass |
cniDeleteMessage |
cpiAppendToBuffer |
cniAdd* |
cpiCreateElement |
cniDetach |
cpiCreateAndInitializeElement |
cniCopyElementTree |
cpiAddBefore |
cniFinalize |
cpiAddAfter |
cniWriteBuffer |
cpiAddAsFirstChild |
cniSql* |
cpiAddAsLastChild |
cniSetInputBuffer |
cpiSetNameFromBuffer |
cniDispatchThread |
(* representa todos os nós com essa base; por exemplo,
cniAdd* inclui cniAddAfter, cniAddasFirstChild, cniAddasLastChild e
cniAddBefore.)
Os métodos
Java que chamam as mensagens BIP4144 e BIP4145 são:
Para nós definidos pelo usuário |
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: uma mensagem de depuração rastreada durante a chamada
de uma função de utilitário do analisador definido pelo usuário, onde a função de utilitário altera o estado de um elemento de sintaxe. Isto inclui todas as funções de utilitário que começam com cpiSetElement*, em que * representa todos os nós com esse
stem. Por exemplo:
BIP4146 Avaliando cpiSetElement
[element identifier type]. Alterando o valor de [value before user's
change] para [value after user's change]
Para obter informações sobre a API C definida pelo usuário, consulte a API do Analisador Definido pelo Usuário de Linguagem C e
a API do Nó Definido pelo Usuário de Linguagem C.
- BIP4147: uma mensagem de erro que
é rastreada, quando uma extensão definida pelo usuário transmite um objeto de entrada inválido
para uma função da API do utilitário de extensão definido pelo usuário. Por exemplo:
BIP4147 O parâmetro de entrada de
extensão definido pelo usuário falhou ao depurar a verificação de validação. O parâmetro de entrada [nome do
parâmetro] transmitido na função [nome da função] não é um objeto válido.
- BIP4148: uma mensagem de erro que
é rastreada, quando uma extensão definida pelo usuário danifica um objeto do intermediário. Por exemplo:
BIP4148 Extensão definida pelo usuário
danificou o objeto do intermediário. A função [nome da função] danificou o objeto do
intermediário transmitido como parâmetro [nome do parâmetro].
- BIP4149: uma mensagem de erro que
é rastreada, quando uma extensão definida pelo usuário transmite um ponteiro de dados de entrada inválido
para uma função API do utilitário de extensão definido pelo usuário. Por exemplo:
BIP4149 O parâmetro de entrada de
extensão definido pelo usuário falhou ao depurar a verificação de validação. O parâmetro de entrada [nome do
parâmetro] transmitido na função [nome da função] não é um ponteiro NULL.
- BIP4150: uma mensagem de erro rastreada quando uma extensão definida pelo usuário transmite dados de entrada inválidos para uma função de API do utilitário de extensão definido pelo usuário. Por exemplo:
BIP4150 O parâmetro de entrada de
extensão definido pelo usuário falhou ao depurar a verificação de validação. O parâmetro de entrada [nome do
parâmetro] transmitido na função [nome da função] não possui um valor válido.
- BIP4151: uma mensagem de depuração rastreada quando cniGetAttribute2 ou cniGetAttributeName2 configura o código de retorno para um valor inesperado. Os valores esperados são CCI_SUCCESS, CCI_ATTRIBUTE_UNKNOWN e CCI_BUFFER_TOO_SMALL. Qualquer outro valor é um valor inesperado. Por exemplo:
BIP4151 Um valor inesperado foi retornado da função de implementação da extensão definida pelo usuário [function name].
- BIP4152: uma mensagem de depuração rastreada quando cniGetAttribute2 ou cniGetAttributeName2 configura o código de retorno para CCI_BUFFER_TOO_SMALL e, em seguida, cniGetAttribute2 ou cniGetAttributeName2 é chamado novamente, desta vez com o tamanho de buffer correto, no entanto, o código de retorno ainda é configurado para CCI_BUFFER_TOO_SMALL. Por exemplo:
BIP4152 Função de de implementação de extensão definida pelo usuário [function name] retornou CCI_BUFFER_TOO_SMALL na 2ª tentativa.