如何解决如何使用 RTN_FindByName 查找函数?
我正在努力寻找具有原型 mul(float,float)
的函数时,我尝试使用 RTN_FindByName
,但输出仍然为空。
VOID Arg1Before(CHAR * name,ADDRINT size)
{
TraceFile << name << "(" << size << ")" << endl;
}
VOID MulAfter(ADDRINT ret)
{
TraceFile << " returns " << ret << endl;
}
VOID Image(IMG img,VOID *v)
{
// Instrument the mul() and div() functions. Print the input argument
// of each mul() or div(),and the return value of mul().
//
// Find the mul() function.
RTN mulRtn = RTN_FindByName(img,MUL);
if (RTN_Valid(mulRtn))
{
RTN_Open(mulRtn);
// Instrument mul() to print the input argument value and the return value.
RTN_InsertCall(mulRtn,IPOINT_BEFORE,(AFUNPTR)Arg1Before,IARG_ADDRINT,MUL,IARG_FUNCARG_ENTRYPOINT_VALUE,IARG_END);
RTN_InsertCall(mulRtn,IPOINT_AFTER,(AFUNPTR)MulAfter,IARG_FUNCRET_EXITPOINT_VALUE,IARG_END);
RTN_Close(mulRtn);
}
}
在那里,MUL
是一个常量,它是 "mul"。显然,我已经包括了 pin.H。问题是我的 traceFile 仍然是空的
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。