JIT代码生成后,如何检索LLVM ::指令地址
How to retrieve llvm::Instruction address after JIT code generation?
在使用 llvm::IRBuilder
时,我收集了用代码位置映射的 llvm::Instruction
s,我的愿望是能够以{void* start,void* end}的形式检索这些指令的内存位置。代码生成是由JIT编译器完成的,这可能吗?(打算在断裂时插入软件断点并从EIP中检索指令)。
无法直接为单个指令执行此操作,但是您至少可以通过静态的封锁助手获得指令所在的基本块的地址。当然,正如邮件列表中指出的那样,LLVM指令可能发生了任何数量的事情,或者整个基本块都可以优化。
相关文章:
- 如何将 I->getType() 作为参数传递给 llvm 中的 CreateCall?
- 使用VerQueryValue检索应用程序的文件描述
- 将尾部调用void(i32,..)位转换为llvm::函数以获取FnAttribute
- 是否可以从格式字符串中检索"width"
- 使用 pqxx 将 std::vector 存储在 postgresql 中,并从数据库中检索它
- 是否可以将llvm::FunctionType转换为C/C++原始函数指针
- llvm构建器向基本块添加终止符
- 正在LLVM中检测整数比较条件
- 如何在LLVM中dyn_cast以识别StoreInst?
- 使用 cmake 的 LLVM 构建在 tsan_libdispatch_mac.cc 期间失败; "Error: conflicting types for ..."
- 如何使用 llvm-10 库在C++定义 LLVM 全局值变量?
- 编译 llvm 3.1 时,为什么会出现错误:在">"标记之前预期主表达式
- 如何删除 LLVM 中的不规则分支?
- LLVM | codegen 用于带有命令行选项的程序输入功能
- 如何在QByteArray中放置和检索位字段而不会感到痛苦?
- 如何在Qt中从数据库中检索二进制数据?
- 编译 llvm 插件时出现问题:llvm/Config/llvm-config.h:没有这样的文件或目录
- LLVM 检索 AllocaInst 的名称
- JIT代码生成后,如何检索LLVM ::指令地址
- LLVM字符串值对象:如何从值中检索字符串