Lackey:一个示例工具

时间:2022-08-31 17:38:39

要使用此工具,必须--tool=lackey在Valgrind命令行上指定 。

13.1。概观

Lackey是一个简单的Valgrind工具,可进行各种基本程序测量。它为程序的代码添加了很多简单的工具。它主要是作为一个示例工具使用,因此强调实现的清晰度超过性能。

13.2。Lackey命令行选项

Lackey特定的命令行选项有:

--basic-counts=<no|yes> [default: yes]

启用后,Lackey将打印以下有关客户端程序执行情况的统计信息和信息:

  1. 由该--fnname选项指定的函数的调用次数 (默认为 main)。如果程序的符号被剥离,计数将始终为零。

  2. 遇到的条件分支的数量和所采用的数量和比例。

  3. 由程序输入并完成的超级块数。请注意,由于JIT进行的优化,这并不是一个准确的价值。

  4. 访客数(x86,amd64,ppc等)指令和IR语句执行。IR是Valgrind的RISC类中间代表,通过它们进行所有仪器的完成。

  5. 其中一些计数之间的比率。

  6. 客户端程序的退出代码。

--detailed-counts=<no|yes> [default: no]

启用后,Lackey打印一个包含负载,存储和ALU操作计数的表,区分其IR类型。IR类型由其IR名称(“I1”,“I8”,...“I128”,“F32”,“F64”和“V128”)标识。

--trace-mem=<no|yes> [default: no]

启用后,Lackey会打印程序几乎所有内存访问的大小和地址。有关lackey/lk_main.c输出格式,工作原理以及地址跟踪中的不准确性的详细信息,请参阅文件顶部的注释。请注意,此选项产生大量的输出。

--trace-superblocks=<no|yes> [default: no]

启用后,Lackey打印程序执行的每个超级块(单个条目,多个退出,线性代码块)的地址。这主要是Valgrind开发商感兴趣的。有关lackey/lk_main.c输出格式的详细信息,请参阅文件顶部的注释 。请注意,此选项产生大量的输出。

--fnname=<name> [default: main]

指定时调用计数功能 --basic-counts=yes


相关文章