以下命令控制 er_print 显示输出。
关闭任何打开的输出文件,然后为后续输出打开 filename。打开 filename 时,将清除任何先前存在的内容。如果指定一个短划线 (-) 而不是 filename,则将输出写入标准输出。如果指定两个短划线 (--) 而不是 filename,则将输出写入标准错误。
关闭任何打开的输出文件并打开 filename,保留任何先前存在的内容,以便将后续输出附加到文件的结尾。如果 filename 不存在,则 appendfile 命令的功能与 outfile 命令的功能相同。
将任何输出限制为报告中的前 n 个条目,其中 n 是一个无符号整数。如果 n 为零,则删除所有限制。如果省略了 n,则会输出当前限制。
指定是使用长形式还是短形式的函数名称(仅限 C++ 和 Java)。如果指定了 shared-object-name,则将共享对象名称附加到函数名称。
将模式设置为以下模式之一:
对于 Java 实验,显示 Java 线程的 Java 调用堆栈,而不显示内务处理线程。函数列表包括函数 <JVM-System>,该函数表示来自非 Java 线程的聚集时间。当 JVM 软件不报告 Java 调用堆栈时,将根据函数 <no Java callstack recorded> 报告时间。
对于 OpenMP 实验,显示重构的调用堆栈,这些重构的调用堆栈类似于在不使用 OpenMP 的情况下编译程序时获取的调用堆栈。在 OpenMP 运行时执行某些操作时,添加名称格式为 <OMP-*> 的特殊函数。
对于 Java 实验,在执行用户的 Java 代码时,将显示 Java 线程的 Java 调用堆栈,而在执行 JVM 代码或当 JVM 软件不报告 Java 调用堆栈时,则显示计算机调用堆栈。显示内务处理线程的计算机调用堆栈。
对于 OpenMP 实验,显示编译器生成的、代表并行化循环、任务等的函数,这些函数会与用户模式中的用户函数聚集。在 OpenMP 运行时执行某些操作时,添加名称格式为 <OMP-*> 的特殊函数。禁止 OpenMP 运行时代码 libmtsk.so 中的函数。
对于 Java 实验和 OpenMP 实验,显示所有线程的实际本机调用堆栈。
对于除 Java 实验和 OpenMP 实验之外的所有实验,所有三种模式都显示相同的数据。
将比较模式设置为关闭(compare off,缺省值)、开启 (compare on)、增量 (compare delta) 或比率 (compare ratio)。如果比较模式为关闭,则读取多个实验时将聚集数据。如果启用比较,则装入多个实验时,将为每个实验的数据显示单独的度量列。如果比较模式为增量,则基实验显示绝对度量,但是比较实验显示其与基实验之间的差异。如果比较模式为比率,则比较实验显示其与基实验之间的比率。
比较模式将每个实验或实验组视为单独的比较组。第一个实验或实验组参数是基本组。如果您希望在一个比较组中包括多个实验,则必须创建实验组文件以用作 er_print 的单个参数。
基于 string 设置输出模式。如果 string 为 text,输出为表格形式。如果 string 是一个字符,输出将作为分隔符分隔的列表执行,这一个字符作为分隔符。如果 string 为 html,输出将采用 HTML 表的格式。其他任何 string 均无效,将忽略该命令。
printmode 设置只能用于生成表的命令,如 functions、memobj、indxobj。对于其他输出命令,如 source 和 disassembly,将忽略该设置。