为什么gdb不执行LLVM IR生成器调用?

为什么gdb不执行LLVM IR生成器调用?,gdb,llvm,instructions,Gdb,Llvm,Instructions,我试图调试一段LLVM代码,如下所示。 当我尝试在调用IRBuilder::Create时运行gdb,它不会介入调用,而是介入调用llvm::StringRef为指令创建临时名称,因为我没有为指令指定名称 如何进入完整的IRBuilder::CreateAlloca()调用 (原因:出于某种原因,其中一个IRBuilder调用没有创建指令,我希望了解原因,因此执行此调试过程) (gdb)步骤 llvm::Twine::Twine(this=0x7FFFFFC590,Str=0x16cd8e6“”

我试图调试一段LLVM代码,如下所示。 当我尝试在调用IRBuilder::Create时运行gdb,它不会介入调用,而是介入调用llvm::StringRef为指令创建临时名称,因为我没有为指令指定名称

如何进入完整的IRBuilder::CreateAlloca()调用

(原因:出于某种原因,其中一个IRBuilder调用没有创建指令,我希望了解原因,因此执行此调试过程)

(gdb)步骤

llvm::Twine::Twine(this=0x7FFFFFC590,Str=0x16cd8e6“”) 在 /home/malhar/arm_work/llvm_versions/llvm_4.0.0/llvm/include/llvm/ADT/Twine.h:267

267       : RHSKind(EmptyKind) {
(gdb) n
268       if (Str[0] != '\0') {
(gdb) n
272         LHSKind = EmptyKind;
(gdb) n
274       assert(isValid() && "Invalid twine!");
(gdb) n
275     }

finish
执行
StringRef
构造函数,然后再次执行
步骤
。谢谢,这似乎有效,但我仍然不明白为什么IRBuilder不在指定位置插入调用。。。
1048                        allocaInst = tempBuilder.CreateAlloca(phiconstantType);
267       : RHSKind(EmptyKind) {
(gdb) n
268       if (Str[0] != '\0') {
(gdb) n
272         LHSKind = EmptyKind;
(gdb) n
274       assert(isValid() && "Invalid twine!");
(gdb) n
275     }