本文整理汇总了C++中FileMap::imageMapForAddr方法的典型用法代码示例。如果您正苦于以下问题:C++ FileMap::imageMapForAddr方法的具体用法?C++ FileMap::imageMapForAddr怎么用?C++ FileMap::imageMapForAddr使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FileMap
的用法示例。
在下文中一共展示了FileMap::imageMapForAddr方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: _dyld_find_unwind_sections
bool _dyld_find_unwind_sections(void* addr, struct dyld_unwind_sections* info)
{
TRACE1(addr);
const FileMap::ImageMap* map = g_file_map.imageMapForAddr(addr);
if (!map) // in ELF
{
memset(info, 0, sizeof(*info));
CBData data = { addr, info };
dl_iterate_phdr(dlCallback, &data);
std::cout << "Dwarf section at " << info->dwarf_section << std::endl;
return info->dwarf_section != 0;
}
else // in Mach-O
{
info->mh = &map->header;
info->dwarf_section = reinterpret_cast<const void*>(map->eh_frame.first + map->slide);
info->dwarf_section_length = map->eh_frame.second;
// FIXME: we would get "malformed __unwind_info" warnings otherwise
// info->compact_unwind_section = reinterpret_cast<const void*>(map->unwind_info.first + map->slide);
// info->compact_unwind_section_length = map->unwind_info.second;
info->compact_unwind_section = 0;
info->compact_unwind_section_length = 0;
return true;
}
}