监视 Data Standard 的行为并识别故障,以便您可以更正代码。
有两种方法可帮助您审阅和调试代码。第一种方法是生成日志文件,这是在“C:\temp”文件夹(DataStandard<应用程序>log.txt)。第二种方法是通过 $dsDiag 对象在代码中进行日志记录。
在 c:\temp 下有多达 3 个日志文件:dataStandardVaultlog.txt、dataStandardInventorlog.txt、dataStandardAutoCADlog.txt。每个日志文件对应于 Data Standard 运行所在的应用程序。
Data Standard 有时会出现的一个问题是,对 XAML 文件进行更改后,该对话框不显示,或者对于 CAD,会显示标准应用程序保存对话框,而不是 Data Standard 对话框。这通常是 XAML 文件中存在拼写错误的症状。在这种情况下,您会在各自的日志文件中找到错误消息,如 'System.Windows.Markup.XamlParseException。
当代码中存在导致载荷或解释失效的错误时,通常会显示 XamlParseException 错误。通常在文件解释失败的行和位置处会伴有此错误,如下所示:
"System.Windows.Markup.XamlParseException: ......... Line 14, position 9. --->"
通常,此错误不是确切位于该位置,而是在其之前。但是,如果您看到此消息,请检查给定行和位置周围的 XAML 语法。
出现错误时,请始终检查日志文件。
在 PowerShell 代码中,您可以添加日志记录信息,该信息可能对于在出现错误时调试代码非常有用。为此,对象 $dsDiag 提供了 ShowLog() 方法用于打开日志窗口,并且提供 Trace("hello") 用于将内容写入日志窗口。
此外,还可以在特定位置停止代码并显示一个小对话框,其中显示在该时间可用且已设置的所有变量。这是通过 Inspect() 完成的。
要查看日志窗口,请使用 InitializeWindow 函数打开它,在显示对话框之前会调用该函数。将以下行添加到 InitializeWindow 函数:
$dsDiag.ShowLog()
$dsDiag.Clear()
这将打开日志窗口并清除内容。
稍后,您可以在代码中的不同位置添加 $dsDiag.Trace("my comments") 以及相应的信息,以便在日志窗口中跟踪函数的进度。最好在每个函数的开头和结尾添加“函数开始”和“函数结束”跟踪消息,以便可以轻松地在日志窗口中跟踪过程调用。如下所示:
function myFunc
{
$dsDiag.Trace(">> myFunc")
... here comes your code ...
$dsDiag.Trace("<< myFunc")
}
无论是使用 >> 和 << 作为符号来进入和退出函数,还是只编写“开始-结束”消息,都由您决定。
如果要了解变量在给定时间的确切状态,只需添加 $dsDiag.Inspect()。该代码将在执行时保留,并且在显示的对话框中,将显示具有给定值的可用变量。由于该对话框通常显示在屏幕的左侧,请确保 Data Standard 对话框位于右侧,以免它与检查器对话框重叠。
在事件处理程序中打开检查器对话框有些风险,因此在这些情况下请使用日志记录。