【发布时间】:2018-10-04 02:43:12
【问题描述】:
在使用 LLVM IR 时,我们可以使用 LLVM Raw Stream 打印每个 llvm::Value 的类型。例如
void someFunction(llvm::IRBuilder* iBuilder) {
llvm::Value* v = iBuilder->getInt64(0);
// Print the type of value "v"
v->getType()->print(llvm::outs()); // line A, get "i64" in stdout
}
但是,如果我们要调试一些相关代码,我认为修改原始代码(添加print函数调用)并再次编译以获得一些值类型的调试信息不是一个好习惯.
那么,假设我在“A 行”有一个断点,我能否在 lldb 中获得一些 llvm::Value* v 的人类可读类型信息(类似于标准输出中的“i64”)?
【问题讨论】:
-
p v->dump(),p v->getType()->dump() -
@IsmailBadawi 它有效,谢谢!要将其添加到答案中吗?
标签: debugging llvm lldb llvm-ir