如何使用lldb

时间:2018-04-23 23:51:54

标签: debugging llvm lldb llvm-ir

使用LLVM IR时,我们可以使用LLVM Raw Stream来打印每个llvm :: Value的类型。 e.g。

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行和#34;处有一个断点,我可以在lldb中获得llvm::Value* v的一些人类可读类型信息(类似于" i64"在stdout中)吗?

1 个答案:

答案 0 :(得分:1)

如@IsmailBadawi的评论中所述,我们可以使用p v->dump() p v->getType()->dump()来打印目标信息(在stdout而不是调试输出中)