Você deve implementar os arquivos que compõem o projeto
do nó definido pelo usuário para workbench antes
do nó definido pelo usuário se tornar disponível para uso. Isso pode ser feito
em um ambiente de teste, utilizando a Perspectiva de Desenvolvimento
de Plug-in no workbench
, consulte Ativando Capacidades do Tempo de Execução do PDE
.
Utilize a opção Executar > Executar como > Workbench de Tempo de Execução
para iniciar uma nova cópia do workbench com
os nós extras incluídos. Para obter informações adicionais sobre essa
perspectiva, consulte
Guia PDE.
Você pode ver os
novos nós na paleta quando abrir o editor de Fluxo de Mensagens. Para
testar o novo nó, inclua-o em um fluxo de mensagens (consulte Incluindo um Nó do Fluxo de Mensagens)
e implemente como de costume. Quando estiver satisfeito com a definição do nó,
inclua o novo nó na paleta normal de nós no editor de Fluxo de Mensagens
(consulte Distribuindo uma Extensão Definida pelo Usuário).
Até fazer isso, os novos nós estão disponíveis somente na sessão de teste do
workbench.
Quando você tiver uma sessão de workbench que inclua
seu novo nó, poderá implementar um fluxo de mensagem de teste que contenha o novo nó
para um intermediário. Você deve ter criado, compilado e instalado o nó do plug-in primeiro antes de poder implementá-lo.
Consulte a seção Instalando uma Extensão Definida pelo Usuário em um Domínio de Intermediário para obter mais informações.
Quando você tiver configurado e implementado um fluxo de mensagens
contendo seu nó definido pelo usuário e enviado uma mensagem de teste
a ele, existem várias ferramentas de diagnóstico disponíveis para
determinar se o nó funciona ou, se não funciona, o que aconteceu de
errado.
Utilize o registro de eventos. Consulte a seção Utilizando Registro de Eventos a partir de uma Extensão Definida pelo Usuário para obter informações adicionais.
- Verifique o registro de eventos (consulte Editor de Registro de Eventos para
obter informações sobre isso).
- Inclua um nó Trace em seu fluxo de mensagens e verifique sua saída (consulte Nó Trace para obter informações sobre nós Trace).
- Utilize o depurador de fluxo para depurar o fluxo contendo seu nó (consulte Testando e Depurando Aplicativos do fluxo de mensagens para obter informações sobre isso).
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
rastreadas antes e depois da chamada de uma função de implementação de extensão
definida pelo usuário. Essas mensagens informam os parâmetros de entrada e o valor retornado.
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.
- BIP3904: uma mensagem rastreada antes de chamar o método evaluate() Java de um nó definido pelo usuário.
- BIP3905: Uma mensagem rastreada antes
de chamar a função de implementação CcniEvaluate() (membro iFpEvaluate
de CNI_VFT) de um nó definido pelo usuário.
- 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.
- BIP4144 e BIP4145: um par de
mensagens rastreado por determinadas funções de implementação que, quando chamadas por uma extensão
definida pelo usuário, podem 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.
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.
- 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.
Para obter informações sobre a API do nó definido pelo usuário da linguagem C, 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.
- BIP4148: uma mensagem de erro que
é rastreada, quando uma extensão definida pelo usuário danifica um objeto do intermediário.
- 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.
- 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.
- 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.
- BIP4152: uma mensagem de depuração que é rastreada na seguinte situação:
- cniGetAttribute2 ou cniGetAttributeName2 configura o código de retorno para CCI_BUFFER_TOO_SMALL.
- cniGetAttribute2 ou cniGetAttributeName2 é chamado novamente com o buffer de tamanho correto, no entanto, o código de retorno é configurado para CCI_BUFFER_TOO_SMALL.
Consulte
Resolvendo Problemas com Extensões Definidas pelo Usuário para obter uma lista completa de funções de implementação.
Ative o rastreio do usuário no nível de depuração, para
ver essas entradas de rastreio. Consulte a seção Utilizando o Rastreio para obter mais informações.