O padrão de dados de depuração

Monitorar o comportamento do Data Standard e identificar mau funcionamento, de modo que você pode corrigir o código.

Há dois métodos que ajudam você a analisar e depurar seu código. O primeiro método é o arquivo de registro que é gerado na pasta c:\temp (datastandardlog.txt). O segundo método é o registro no código usando o objeto $dsDiag.

Arquivos de registro

Em c:\temp, há até 3 arquivos de registro: dataStandardVaultlog.txt, dataStandardInventorlog.txt e dataStandardAutoCADlog.txt. Cada arquivo de registro corresponde ao segundo aplicativo onde o padrão de dados é executada.

Um problema que às vezes ocorre com o Data Standard, é que, após uma alteração é feita para o arquivo XAML, a caixa de diálogo não aparecer, ou no caso de CAD, o aplicativo padrão da caixa de diálogo Salvar é exibida ao invés da caixa de diálogo padrão de dados. Normalmente, isso é um Sintoma de um erro de digitação no arquivo XAML. Nesses casos, você encontrará no respectivo arquivo de registro uma mensagem de erro como 'System.Windows.Markup.XamlParseException'.

O erro XamlParseException é comum quando há erro no código que provoca falha no carregamento ou na interpretação. Normalmente, este erro é acompanhado pela linha e a posição de onde a interpretação de arquivo falhou, como esta:

"System.Windows.Markup.XamlParseException: ......... Line 14, position 9. --->"

Normalmente, o erro não é exatamente na posição, mas um pouco antes. No entanto, se você ver esta mensagem, verifique a sintaxe de XAML em torno da linha e posição.

Quando encontra um erro, sempre verifique o arquivo de registro.

Registro

No código do PowerShell, é possível adicionar registro de informações que podem ser úteis para depuração seu código no caso de erros. Para essa finalidade, o objeto $dsDiag fornece métodos como ShowLog() para abrir uma janela de registro e Trace("hello") para escrever algo na janela de registro.

Além disso, é possível parar o código em uma determinada posição e exibe uma pequena caixa de diálogo que exibe todas as variáveis disponíveis e definir nesse momento. Isso é feito pelo Inspect().

Para visualizar a janela de registro, abra-a com a InitializeWindowfunção, que é chamada pouco antes de a caixa de diálogo aparecer. Adicione estas linhas à função InitializeWindow:

$dsDiag.ShowLog()

$dsDiag.Clear()

Isso irá abrir a janela de registro e limpar o conteúdo.

Mais tarde, você pode adicionar $dsDiag.Trace("my comments") ao seu código em diferentes locais com as mensagens correspondentes, de modo que você possa acompanhar o progresso da função na janela de registro. É uma boa prática para adicionar uma função "Início" e "função" Traço mensagem final no início e no fim de cada função, para que ele se torna fácil para seguir o procedimento chamada na janela de registro. Como esta:

function myFunc
{
  $dsDiag.Trace(">> myFunc")
  ... here comes your code ...
  $dsDiag.Trace("<< myFunc")
}

Se você utilizar o >> e << como um símbolo para entrar e sair de uma função, ou simplesmente gravar Inicio-Fim, ele é.

Se você deseja saber o estado exato das variáveis em um determinado momento, basta adicionar $dsDiag.Inspect(). O código irá manter no tempo de execução, e na caixa de diálogo que aparece, as variáveis disponíveis com o valor são exibidas. Como a caixa de diálogo normalmente aparece no lado esquerdo da tela, certifique-se de que a caixa de diálogo padrão de dados é placec para a direita, para que ele não se sobrepõem a caixa de diálogo Inspetor.

Abrir a caixa de diálogo Inspetor de manipuladores de eventos é um pouco arriscada, então use o registro nestes casos.