第四十三章 使用^TRACE跟踪进程性能

264 阅读3分钟

第四十三章 使用^TRACE跟踪进程性能

^TRACE 实用程序提供了跟踪IRIS 进程执行的功能。被跟踪的进程将事件写入跟踪文件,其中包含有关例程行的信息、它发生的位置以及(如果适用)全局引用。

Using ^TRACE

注意:跟踪文件可能包含敏感信息,例如全局引用或传递给子例程的参数。它们将不包含任何全局变量的值。

可用于跟踪的事件对应于性能监控工具中报告的指标(例如 ^PERFMON%SYS.MONLBL)。原始数据被写入指定目录中的跟踪文件 iritrace_pid.txt

注意:跟踪目录必须对被跟踪的进程是可写的。

可以选择不同的跟踪事件集来生成用于不同目的的跟踪。可以实现高度详细的应用程序执行跟踪;这可以包括跟踪所有全局引用 (GloRef)、所有应用程序子例程调用 (RtnLoad) 或执行的每一行应用程序代码 (RtnLines)。或者,跟踪可以仅限于不太常见的事件,例如物理块读取(DataBlkRd、UpntBlkRd 等)、网络缓存未命中(NCacheMiss)或块冲突(BlkWait),以便找到应用程序中发生这些事件的所有位置可能会影响性能。

注意:配置跟踪、开始跟踪进程或使用 ^TRAC 实用程序的能力需要 %Admin_Manage:USE

MenuOption Action
Attach显示当前在 服务器上运行的进程列表,并允许附加到其中一个进行调试。如果选择一个进程并选择确定,Studio 将进入选定的目标进程并允许开始调试它。如果为目标进程中执行的当前例程生成了源代码,则该源代码将显示在编辑器窗口中。如果稍后使用 Debug > Stop 终止调试,目标进程将继续执行。
Go如果当前未在调试,Go 将启动由项目的调试目标指定的目标。如您还没有设定目标,系统会要求设定一个。调试目标是要执行的例程或方法的名称;可以使用“调试目标”对话框进行设置。目标启动后,它会一直运行到第一个断点。如果没有在应用程序中设置任何断点,它会一直运行到完成而不会停止。
Restart停止执行目标进程,重新启动它,然后恢复调试(就像使用 Go 命令一样)。
Stop停止调试并停止目标进程或从中分离。如果目标进程正在运行并附加到 Attach,则目标进程将继续运行。如果目标进程是作为 Go 命令的结果启动的,那么它就会终止。
Break暂停目标进程的执行(也就是说,如果调试器附加到当前正在运行的目标进程,而不是停止)。
Interrupt中断当前命令的执行..
Step Into在目标进程中执行当前命令并在下一个命令处停止,进入任何函数调用或循环体。
Step Over在目标进程中执行当前命令并在下一个命令处停止。调试器跳过遇到的任何函数调用或代码块(例如循环);它在函数调用或代码块之后的命令上停止。
Step Out通过离开或跳出当前代码块或函数来推进目标进程的执行,并在此外层的下一个命令处停止。
Run To Cursor仅适用于包含 INT 例程的文档。开始执行目标进程,并在到达光标当前所在的行时停止。这相当于在编辑器窗口的当前行设置断点,执行Go命令,程序暂停时清除断点。
BreakpointsToggle Breakpoints 在当前文档的当前行设置或清除断点。查看断点:打开断点对话框,您可以在其中列出、添加和删除断点。
Debug Target输入调试目标——方法或例程