本文整理汇总了C++中ModuleDescriptor::Contains方法的典型用法代码示例。如果您正苦于以下问题:C++ ModuleDescriptor::Contains方法的具体用法?C++ ModuleDescriptor::Contains怎么用?C++ ModuleDescriptor::Contains使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ModuleDescriptor
的用法示例。
在下文中一共展示了ModuleDescriptor::Contains方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onModuleUnload
void EdgeKiller::onModuleUnload(
S2EExecutionState* state,
const ModuleDescriptor &module
)
{
DECLARE_PLUGINSTATE(EdgeKillerState, state);
//Remove all the polling entries that belong to the module
EdgeKillerState::EdgeEntries &entries =
plgState->getEntries();
EdgeKillerState::EdgeEntries::iterator it1, it2;
it1 = entries.begin();
while(it1 != entries.end()) {
const EdgeKillerState::Edge &e = *it1;
if (module.Contains(e.source)) {
it2 = it1;
++it2;
entries.erase(it1);
it1 = it2;
}else {
++it1;
}
}
}
示例2: disconnect
void FunctionMonitorState::disconnect(const ModuleDescriptor &desc, CallDescriptorsMap &descMap)
{
CallDescriptorsMap::iterator it = descMap.begin();
while (it != descMap.end()) {
uint64_t addr = (*it).first;
const CallDescriptor &call = (*it).second;
if (desc.Contains(addr) && desc.Pid == call.pid) {
CallDescriptorsMap::iterator it2 = it;
++it;
descMap.erase(it2);
}else {
++it;
}
}
}