首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >价值缺失值的输出

价值缺失值的输出
EN

Stack Overflow用户
提问于 2012-11-01 18:41:23
回答 1查看 155关注 0票数 0

我开始从这里学习C。我正在学习在第五章,练习-4中使用瓦兰。页面上的源代码窗口-17解释了这个问题.

在对文件(ex4.c)进行Val差事时,我的输出从页面上显示的瓦莱尔输出中缺少以下方式;

  1. ???而不是_itoa_word (_itoa.c:195)
  2. 未标识C库文件中行号的位置。相反,给出了共享库文件(.so)的路径。

下面是一个比较这两种输出的例子。

我所期望的

==3082==使用大小为8的未初始化值

==3082== at 0x4E730EB:_itoa_word (_itoa.c:195)

==3082== by 0x4E743D8: vfprintf (vfprintf.c:1613)

==3082== by 0x4E7E6F9: printf (printf.c:35)

==3082== by 0x40052B: main (ex4.c:11)

我得到了什么

==14647==在0x407D256:?(见/lib/tls/i 686/cmov/libc-2.11.1.so)

==14647== by 0x4080B89: vfprintf (in /lib/tls/i 686/cmov/libc-2.11.1.so)

==14647== by 0x40882BF: printf (in /lib/tls/i 686/cmov/libc-2.11.1.so)

==14647== by 0x8048401: main (ex4.c:9)

请告诉我如何纠正我的英勇输出。我正在使用Ubuntu-10.10,32位版本。我使用源代码安装了Valcha-3.8.1。我的gcc版本是4.3.3,glibc版本是2.11.1

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-01 20:25:43

有些Linux发行版附带的库已经去掉了它们的符号。结果库要小得多,但缺少在gdb或val差伦中调试它们所需的函数名。

您通常可以找到一个包,该包中的每个库都具有调试符号。例如,在Ubuntu上,它是带有"-dbg“后缀的库的包名。对于C库libc6,它是libc6-dbg。安装时:

代码语言:javascript
复制
sudo aptitude install libc6-dbg
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13183491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档