Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Ferramentas e Utilitários

Capítulo 5: Interpretador do Developer's Toolkit

Retornar ao Índice


Introdução

Visão Geral

O Interpretador do Developer's Toolkit é o núcleo do sistema de tempo de execução do Developer's Toolkit. O Interpretador do Developer's Toolkit executa as instruções e expressões que compreendem um aplicativo do Developer's Toolkit.

Como Pesquisar Arquivos .kb

Como verificar bases de informações em diretórios

Quando o Interpretador do Developer's Toolkit pesquisa um arquivo .kb que não tem um diretório explicitamente especificado, ele verifica diretórios na seguinte ordem:

  1. Quaisquer diretórios especificados no prompt de comandos para outros arquivos .kb por meio do argumento -u (ou -f) ou como parte de uma especificação de nome de arquivo
  2. O diretório atual
  3. O diretório que contém a biblioteca kmli510 (somente para Windows e OS/2)
  4. Quaisquer diretórios especificados em SAIPATH
  5. Quaisquer diretórios especificados em DPATH (somente OS/2)
  6. Quaisquer diretórios especificados no caminho

Argumentos do Prompt de Comandos

Argumentos do prompt de comandos do Interpretador do Developer's Toolkit

O Interpretador do Developer's Toolkit aceita argumentos do prompt de comandos com a seguinte sintaxe:

kml [opção ...] arquivo .kb

Os argumentos válidos para o Interpretador do Developer's Toolkit incluem os que estão listados na tabela a seguir.

Nota: Estes argumentos são em letra maiúscula em UNIX.

Argumentos Valor Comentário
-u<caminho> Utilização Inclui os diretórios no caminho fornecido em uma lista de diretórios a serem pesquisados. Isto ocorre quando o Interpretador do Developer's Toolkit procura os arquivos .kbc correspondentes aos arquivos .kb utilizando pelo arquivo .kb raiz. (O arquivo .kn raiz é o pai dos outros arquivos .kb.). O caminho pode consistir em muitos nomes de diretórios qualificados separados por ponto e vírgula.

Nota: O UNIX requer dois pontos.

-t Rastreio (Depurador) Inicia o Interpretador do Developer's Toolkit em modo de rastreio. O Interpretador do Developer's Toolkit entra no Depurador do Developer's Toolkit antes da execução da primeira linha do arquivo .kb raiz.
-l Log Faz com que o Interpretador do Developer's Toolkit grave uma mensagem de log em um arquivo chamado kml.log. Isto ocorre no diretório atual para toda instrução no arquivo kml.log. Esta opção deve ser utilizada com cuidado porque pode consumir bastante espaço em disco e retardar a execução do aplicativo.
-o Otimização Desativada Desativa a carga de arquivos .kbc por demanda.
-? -HELP

-H

Auxílio Exibe um breve resumo das opções da linha de comandos que ele aceita.
-d nome_da_DLL "Carrega previamente" dlls durante a inicialização do programa. Isto é utilizado principalmente para fins de depuração durante o desenvolvimento.
-c Diretório Altera a unidade e/ou diretório atual durante a inicialização do programa.
-f nome_do_arquivo_KBC Utilizado como um método alternativo para especificar um ou mais arquivos kbc a serem carregados. Você pode especificar -f=<nome_do_arquivo> mais de uma vez em um prompt de comandos. Você também pode carregar múltiplos kbcs no processo que não são relacionados através da cadeia USES. Apesar dos arquivos .kbc não saberem sobre outros arquivos .kbc durante a análise, eles ainda podem fazer chamadas entre si através da instrução CallFunction. O arquivo .kb raiz é sempre o último arquivo especificado por -F no prompt de comandos.
-p Porta_de_rede Dá suporte às extensões de rede do Developer's Toolkit.

Erros do Interpretador

Erros do Interpretador do Developer's Toolkit

A tabela a seguir resume as condições de erro relatadas pelo Interpretador do Developer's Toolkit.

Erro Explicação
Uma converção de tipo falhou durante a tentativa de empacotar argumentos do Developer's Toolkit para a rotina externa <rotina>. O valor passado como argumento para a rotina externa não pode ser convertido para o tipo esperado por aquela rotina.
Ocorreu um erro interno durante a tentativa de converter valores retornados da rotina externa <rotina> de volta para o formato do Developer's Toolkit. Isto se refere a uma condição de underflow onde o valor retornado da rotina externa não se conforma ao tipo declarado para a rotina externa.
O empacotamento da lista de argumentos para a rotina externa <rotina> excedeu o armazenamento máximo disponível. A lista de argumentos inteira da rotina externa excedeu o limite de 4096 bytes imposto pelo Interpretador do Developer's Toolkit.
Não é possível converter $UNKNOWN em um valor C/C++ válido ao chamar a rotina externa <rotina>. Um valor desconhecido foi passado como parâmetro (ou como um campo de um registro passado como um parâmetro) a uma rotina externa e não há valor padrão especificado para o tipo esperado pela rotina. Não há modo de passar o valor para a rotina C ou C++.
Memória insuficiente O Interpretador do Developer's Toolkit não pode alocar nenhuma memória adicional.
Erro interno detectado na linha <número da linha> em "<nome_do_arquivo>" Existe uma condição de erro no Interpretador do Developer's Toolkit. Anote o nome do arquivo e o número da linha e entre em contato com o Suporte ao Cliente Tivoli.
Índice <n> fora dos limites O código tentou acessar o item de ordem n em uma matriz ou lista que tem menos de n items.
Não é possível carregar a Biblioteca de Carga Dinâmica (DLL, Dynamic Load Library) <nome_do_arquivo>. A biblioteca designada não foi encontrada. Certifique-se que a biblioteca existe e está em seu caminho.
A função <nome> (<nome_do_arquivo>) não está implementada. O Interpretador do Developer's Toolkit não pôde acessar a função designada. Certifique-se de ter a versão correta do Developer's Toolkit instalada e de que esta é a única versão disponível em seu sistema.
Ocorreu um erro ao ler o arquivo "<nome_do_arquivo>" Isto pode ser causado por uma definição de somente leitura em um arquivo, um arquivo não-existente ou excluído ou uma falha de disco ou rede.
$EventParm #<n> não existe. O intervalo válido é de 1 a <n>. Reveja os parâmetros de eventos válidos para eventos no Developer's Toolkit - Referência de Linguagem do Script.
O tipo de EventParm #<n> (<tipo>) não corresponde ao tipo declarado (<tipo>). Reveja os parâmetros de eventos válidos para eventos no Developer's Toolkit - Referência de Linguagem do Script.
A atribuição para $EventParm #<n> é ilegal, porque não foi passada por referência. A atribuição para $EventParm foi ilegal. Você pode evitar a atribuição utilizando um campo nos dados de ocorrência da rotina de tratamento do evento ou uma variável global.
Tentativa de abrir o arquivo "<nome_do_arquivo>" com um modo inválido: <modo> Utilize as constantes internas fornecidas ($Read, $Write, ou $Create) para abrir arquivos.
A lista de parâmetros formais para a função <nome> não pode ser ligada aos argumentos da linha de comandos. Certique-se que os argumentos para a função sejam do tipo correto. Este erro também pode ser causado por arquivos .kbc desatualizados que precisam ser analisados novamente.
Não é possível abrir o arquivo "<nome_do_arquivo>" Isto pode ser causado por uma definição de somente leitura em um arquivo, um arquivo não-existente ou excluído ou uma falha de disco ou rede.
O arquivo não é uma Base de Informações compilada: <nome_do_arquivo> Certifique-se de especificar o nome de um arquivo .kbc (não .kb) que esteja no diretório atual ou em um dos caminhos especificados anteriormente neste capítulo. Para obter mais informações, consulte a seção Como Pesquisar Arquivos .kb.
O arquivo <nome_do_arquivo> foi analisado por uma versão obsoleta do analisador. Analise novamente o arquivo .kb com o parâmetro -b (build) para eliminar este problema.
O arquivo <nome>.kbc não foi gerado adequadamente. Analise novamente a base de informações correspondente. O arquivo .kbc está danificado. Você deve analisar novamente.
O arquivo <nome_do_arquivo> está desatualizado em relação à base de informações <nome>. Analise novamente o arquivo com o parâmetro -b (build) para eliminar este problema.
Divisão por zero em <nome_do_arquivo> Utilize o Depurador do Developer's Toolkit para determinar onde ocorre a divisao por zero e adicione código suplementar para impedir isto.
Raiz quadrada de um número negativo <n> Utilize o Depurador do Developer's Toolkit para determinar porque isto ocorre e adicione código suplementar para impedir isto.
Tentativa de atribuir um valor desconhecido ao caractere #<n> da cadeia "<nome>" O código do Developer's Toolkit está tentando executar uma operação como:
TYPES
s : string;
ACTIONS
s[5] := $UNKNOWN;
END;

Utilize o Depurador do Developer's Toolkit para determinar porque isto ocorre e adicione código suplementar para impedir isto.

Opção não reconhecida: <opção> A sintaxe utilizada no prompt de comandos para o Interpretador do Developer's Toolkit não foi reconhecida.
Mais de 65535 tipos definidos no aplicativo A menos que seu arquivo .kb seja excepcionalmente grande, este erro provavelmente é causado por um erro interno ou um arquivo .kbc danificado. Analise e tente novamente.
Não foi possível substituir a cadeia {{<cadeia de referência>}} por um valor. A cadeia de referência é inválida de alguma maneira.
Foi encontrado um parâmetro de ligação inválido. Ou a sintaxe do parâmetro estava incorreta, ou não havia dados de parâmetro para associar com o marcador. Existe um erro na sintaxe da chamada de função SQL.
A entrada chamada "<nome>" tem um tipo (<espec_tipo>) que não é suportado. Isto pode ser causado por um erro interno, um arquivo .kbc desatualizado ou danificado. Analise e tente novamente.
O <nome> da base de informações não tem rotina de entrada. Uma rotina de entrada válida é um procedimento que atende aos seguintes requisitos:
  1. É um procedimento e não uma função
  2. É em escopo de módulo (por exemplo, não é aninhada em outra rotina)
  3. É definida como uma função PUBLIC
Não é possível tornar a <letra da unidade> a unidade padrão. Certifique-se que exista uma unidade com a letra fornecida.
Não é possível tornar "<nome>" o diretório atual. Certifique-se que o diretório fornecido exista.
Não é possível localizar um arquivo com o nome <nome_do_arquivo>. Utilizando <nome_do_arquivo> no lugar. Não haverá suporte para este comportamento em releases futuros. Se você especificar um nome de arquivo .kb na seção USES de um arquivo .kb, ele deve ter maiúsculas e minúsculas iguais ao arquivo que contém aquele arquivo .kb. Se o nome do arquivo .kb não utilizar maiúsculas e minúsculas iguais, o Interpretador do Developer's Toolkit não pode localizá-lo e a mensagem de erro é exibida.

Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Ferramentas e Utilitários

Retornar ao Índice

Copyright