LLGo编译器LLVM IR调试信息异常问题排查求助
LLGo编译器调试信息异常:变量修改后断点显示值未更新
问题概述
为基于LLVM后端的LLGo编译器添加调试信息时,多数场景运行正常,但存在以下异常情况:
具体异常表现
在示例函数FuncWithAllTypeParams中:
- 修改变量
i8的值为'\t'后,对应断点处i8始终显示初始值'\x01'; - 移除
llvm.dbg.declare语句后:- 初始断点处无法读取
i8的值; - 后续断点会提前显示修改后的
'\t'值。
- 初始断点处无法读取
已对比Clang生成的C语言IR,未发现关键差异,但Clang生成的代码调试表现正常,需排查该异常的根因。
相关附件
Go示例代码
// 此处为对应的Go示例代码
生成的LLVM IR
; 此处为生成的LLVM IR代码
测试结果
此处为测试过程中的具体结果描述
内容的提问来源于stack exchange,提问作者Jacky Lee
相关产品推荐
相关产品推荐

