- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Pin中有四个粒度级别:例程、指令和图像、跟踪。
我可以指定一个限制/区域来开始和停止插入检测代码。
可以通过 like 指令 like (#start instrumentation , #end instrumentation )
或类似的东西,
一个例子:
for( int i=0; i< x; i++)
有没有办法做到这一点?
{
#startInstrumentation
for( ....;.....;.....)
{
// some code
// function call, conditions , loops, ....
}
#endInstrumentation
}
最佳答案
您可以使用基于跟踪的检测来执行您想要的操作。在每个跟踪的开始,检查它的起始地址,如果它不在感兴趣的范围内,避免添加分析函数并立即从例程返回。
跟踪可能会从感兴趣区域的外部开始,但在其内部结束,或者相反。如果发生这种情况,您将需要对要检测的内容进行更细粒度的选择。在投入精力之前,我会检查这是否是一个真正的问题。
如果您对检测特定例程或图像感兴趣,请考虑使用套件中 InstLib 中的 filter.cpp。 InstLibExamples 中提供了一个使用示例。
现在,至于如何定位这些感兴趣的区域,您有多种选择。如果您无法控制目标二进制文件,您可以在命令行参数中指定区域,作为感兴趣图像的一对偏移量。
如果您可以控制二进制,则可以插入两个符号,指定感兴趣区域的开始和结束,然后使用 SYM 接口(interface)迭代图像符号。
关于intel-pin - 如何指定代码区域以通过 pintool 对其进行检测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32026456/
Pin中有四个粒度级别:例程、指令和图像、跟踪。 我可以指定一个限制/区域来开始和停止插入检测代码。 可以通过 like 指令 like (#start instrumentation , #end
我是 pintool 的新手,我知道如何将指令地址传递给回调,使用: INS_InsertPredicatedCall( ins, IPOINT_BEFORE, (AFUNPTR)MyFunction
我写了这个 pintool: #include "pin.H" #include #include VOID Instruction(INS ins, VOID *v) { cou
所以,我有一些东西需要用 pintools 开发,但我很难用 Eclipse 来处理所有这些东西。 我找到了 this ,但它没有给出非常具体的细节。我希望有人可以提供非常具体的说明,说明如何在 Ma
我想在开发中的 PINtool 中使用 DRAMSim2 作为库接口(interface)。 我尝试熟悉包含 dramsim_test.h 的 dramsim_test.cpp,其中包含 DRAMSi
我是一名优秀的程序员,十分优秀!