cciUserDebugTrace

Essa função é muito semelhante à cciUserTrace sendo que a única diferença é a entrada escrita apenas no rastreio do usuário, quando esse rastreio está ativo no nível de depuração.
Nota: Uma entrada também é gravada no rastreio de serviço, quando ele está ativo em qualquer nível e quando o rastreio de usuário está ativo em qualquer nível.

Sintaxe

void cciUserDebugTrace(
  int*           returnCode,
  CciObject*     object,
  const CciChar* messageSource,
  int            messageNumber,
  const char*    traceText,
  ...
);

Parâmetros

returnCode
Recebe o código de retorno da função (saída).Um entrada de ponteiro NULL significa que o nó definido pelo usuário não irá lidar com erros. Quaisquer exceções lançadas durante a execução desta chamada serão lançadas novamente para o próximo nó de envio de dados no fluxo. Se a entrada não for NULL, a saída significa o status de êxito da chamada. Se uma exceção ocorrer durante a execução, *returnCode será definido como CCI_EXCEPTION na saída. Chame CciGetLastExceptionData para obter detalhes da exceção.
object
O endereço do objeto que deve ser associado à entrada de rastreio (entrada). Esse objeto pode ser um CciNode* ou um CciParser*. Se for um CciNode*, o nome desse nó será gravado no rastreio. Se for um CciParser*, o nome do nó que criou o analisador será gravado no rastreio. Esse objeto também é utilizado para determinar se a entrada deve ser escrita no rastreio. A entrada apenas será escrita, se o rastreio estiver ativo para o nó. Atualmente, os nós herdam a configuração do rastreio a partir do fluxo de mensagens.
Se este parâmetro for NULL, o nível de rastreio para o grupo de execução será retornado.
messageSource
Uma cadeia que identifica a origem da mensagem do Windows ou o catálogo de mensagens do Linux e do UNIX (entrada). Quando o rastreio é formatado, uma mensagem da versão NLS desse catálogo é escrita. O código do idioma utilizado é esse do ambiente, no qual o rastreio é formatado. É possível executar o intermediário em um tipo de plataforma, ler o registro dessa plataforma e, em seguida, formatar o registro em uma plataforma diferente. Por exemplo, se o intermediário estiver sendo executado no Linux ou UNIX mas não houver nenhum arquivo .cat disponível, o usuário poderá ler o registro e, em seguida, transferi-lo para o Windows, onde o registro pode ser formatado utilizando o arquivo .properties.
Se este parâmetro for NULL, o resultado será o mesmo que a especificação de uma cadeia vazia. Isto é, todas as outras informações serão gravadas no registro e o campo catalogue terá um valor de cadeia vazio. Se houver um valor de cadeia vazio, o formatador do registro não poderá localizar a origem da mensagem. Conseqüentemente, o formatador do registro falha ao formatar essa entrada.
messageNumber
O número que identifica a mensagem dentro do messageSource especificado (entrada). Se o messageSource não contiver uma mensagem que corresponde a esse messageNumber, o formatador de registro falhará ao formatar essa entrada.
traceText
Uma cadeia de caracteres que termina com NULL (entrada). Essa cadeia será gravada no rastreio de serviço e fornece uma maneira fácil de correlacionar as entradas de rastreio com os caminhos através do código-fonte. Por exemplo, pode haver vários caminhos por meio do código que resultam na mesma mensagem (messageSource e messageNumber) sendo gravada no rastreio. traceText pode ser utilizado para distinguir entre esses caminhos diferentes. Isto é, a cadeia traceText é uma cadeia literal estática na origem e, portanto, a mesma cadeia está no arquivo de código-fonte e no arquivo de rastreio formatado.
...
Uma lista de argumentos variáveis em C contendo quaisquer inserções de mensagem que acompanham a mensagem (entrada). Essas inserções são tratadas como cadeias de caracteres, e os argumentos variáveis são considerados como sendo do tipo pointer to char.O último argumento nesta lista precisa ser (char*)0.
  • Para obter extensões definidas pelo usuário sendo executadas em plataformas distribuídas, os argumentos char* devem estar na página de códigos ISO-8859-1 (ibm-918).
  • Para obter extensões definidas pelo usuário sendo executadas em plataformas Z/OS, os argumentos char* devem estar em EBCIDIC (1047).
Isso inclui todos os argumentos char* em traceText e a lista de argumentos de variáveis de inserções (...).

Valores de Retorno

Nenhum. Se ocorrer um erro, o parâmetro returnCode indica o motivo do erro.

Exemplo

const CciChar*   myMessageSource=CciString("SwitchMSG",BIP_DEF_COMP_CCSID);
CciNode* thisNode = ((NODE_CONTEXT_ST*)context)->nodeObject;

const char* mbElementName  = mbString((CciChar*)&elementName,BIP_DEF_COMP_CCSID);
const char* mbElementValue = mbString((CciChar*)&elementValue,BIP_DEF_COMP_CCSID);
const char* traceTextFormat = "Switch Element: name=%s, value=%s";
char* traceText = (char*)malloc(strlen(traceTextFormat) +
                                strlen(mbElementName) +
                                strlen(mbElementValue));
sprintf(traceText,traceTextFormat,mbElementName,mbElementValue);
    
cciUserDebugTrace(&rc,
                 (CciObject*)thisNode,
                 myMessageSource,
                 2,
                 traceText,
                 mbElementName,
                 mbElementValue,
                 (char*)0);
free((void*)mbElementName);
free((void*)mbElementValue);
free((void*)traceText);
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
as24510_