第四十三章 使用^TRACE跟踪进程性能
^TRACE 实用程序提供了跟踪IRIS 进程执行的功能。被跟踪的进程将事件写入跟踪文件,其中包含有关例程行的信息、它发生的位置以及(如果适用)全局引用。
Using ^TRACE
注意:跟踪文件可能包含敏感信息,例如全局引用或传递给子例程的参数。它们将不包含任何全局变量的值。
可用于跟踪的事件对应于性能监控工具中报告的指标(例如 ^PERFMON 或 %SYS.MONLBL)。原始数据被写入指定目录中的跟踪文件 iritrace_pid.txt。
注意:跟踪目录必须对被跟踪的进程是可写的。
可以选择不同的跟踪事件集来生成用于不同目的的跟踪。可以实现高度详细的应用程序执行跟踪;这可以包括跟踪所有全局引用 (GloRef)、所有应用程序子例程调用 (RtnLoad) 或执行的每一行应用程序代码 (RtnLines)。或者,跟踪可以仅限于不太常见的事件,例如物理块读取(DataBlkRd、UpntBlkRd 等)、网络缓存未命中(NCacheMiss)或块冲突(BlkWait),以便找到应用程序中发生这些事件的所有位置可能会影响性能。
注意:配置跟踪、开始跟踪进程或使用 ^TRAC 实用程序的能力需要 %Admin_Manage:USE。
| Menu | Option 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命令,程序暂停时清除断点。 |
Breakpoints | Toggle Breakpoints 在当前文档的当前行设置或清除断点。查看断点:打开断点对话框,您可以在其中列出、添加和删除断点。 |
Debug Target | 输入调试目标——方法或例程 |