Oracle Solaris Studio 12.2:性能分析器

在不运行实验的情况下查看源代码/反汇编代码

无需运行实验,使用 er_src 实用程序就可以查看带注释的源代码和带注释的反汇编代码。输出的生成方式与在分析器中的生成方式相同,只是不显示任何度量。er_src 命令的语法如下所示:


er_src [ -func | -{source,src} item tag | -{disasm,dis} item tag |
-{cc,scc,dcc} com_spec | -outfile filename | -V ] object

object 是可执行文件、共享对象或目标文件(.o 文件)的名称。

item 是用于生成可执行文件或共享对象的函数、源文件或目标文件的名称。item 还可以采用 function file’的格式指定,在这种情况下,er_src 将在指定文件的源上下文中显示指定函数的源代码或反汇编代码。

tag 是索引,用于决定当多个函数具有相同的名称时引用哪个 item。该选项是必需选项,但如果没有必要解析函数,则可以忽略该选项。

特殊的项和标记 all -1 指示 er_src 为该对象中的所有函数生成带注释的源代码或反汇编代码。


注 –

在可执行文件和共享对象上使用 all -1 生成的输出可能非常大。


以下几节将介绍 er_src 实用程序接受的选项。

-func

列出给定对象的所有函数。

-{source,src} item tag

显示列出的项的带注释的源代码。

-{disasm,dis} item tag

在列表中包括反汇编代码。缺省列表不包括反汇编代码。如果没有可用的源代码,则产生一个不带编译器注释的反汇编代码列表。

-{cc,scc,dcc} com-spec

指定要显示哪些编译器注释类。com-spec 是用冒号分隔的类列表。如果使用的是 -scc 选项,对源代码编译器注释应用 com-spec 类列表;如果使用的是 -dcc 选项,对反汇编代码注释应用类列表;如果使用的是 -cc 选项,既对源代码注释,也对反汇编代码注释应用类列表。有关这些类的描述,请参见控制源代码和反汇编代码列表的命令

注释类可以在缺省值文件中指定。首先读取系统范围的 er.rc 缺省值文件,然后读取用户主目录中的 .er.rc 文件(如果存在),最后读取当前目录中的 .er.rc 文件。您的主目录中的 .er.rc 文件的缺省值覆盖系统缺省值,当前目录中的 .er.rc 文件的缺省值覆盖主目录缺省值和系统缺省值。这些文件也由分析器和 er_print 实用程序使用,但只有源代码和反汇编代码编译器注释的设置由 er_src 实用程序使用。有关这些缺省值文件的描述,请参见设置缺省值的命令。缺省值文件中除 sccdcc 之外的命令均被 er_src 实用程序忽略。

-outfile filename

打开显示列表输出的文件 filename。缺省情况下,或者如果文件名为短划线 (-),则输出会写入 stdout

-V

显示当前发行版本