gdb的print打印的变量数值不正确是什么情况?

old-six-programmer old-six-programmer 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
先贴下我的makefile


BIN = XXX
CC = g++
FLAGS = -rdynamic --std=c++0x -gstabs+
CCOPT = $(FLAGS)
CPPFLAGS = -Wall $(FLAGS) $(TARGET_INC) $(TEST_INC)

...

# build excutable
$(BIN) : $(TEST_OBJ)
$(CC) $(CCOPT) -o $@ $(TEST_OBJ) $(TARGET_OBJS) $(LIB) $(LIB_PATH)

# generate object file
$(TEST_OBJ) : %.o : %.cpp
$(CC) -c $(CPPFLAGS) $< -o $@



问题现象:
1) gdb中可以单步跟踪,list可以显示代码,说明debug信息是有编译进去。
2) 设置断点后,使用"print xxx"查看变量,变量值不正确,但是在程序中打印是OK的。
3) -g和-gstabs+都不行。
4) 尝试测试一个简单的例子,调试正常,无此现象。
5) 调试过程中没有出现gdb内部的警告/错误提示。

哪位帮忙分析一下,可能是什么原因导致?



...全文

相关推荐

评论 6
收藏 已收藏
分享
返回顶部
old-six-programmer
C++ 语言 65,214 成员 250,514 内容