免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 11683 | 回复: 6
打印 上一主题 下一主题

[C] GDB如何监视全局变量变化 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-04-26 10:16 |只看该作者 |倒序浏览
本帖最后由 zhayun604863141 于 2014-04-26 10:54 编辑

现在有一个段错误,一个指向自定义结构体类型的全局指针的值变为NULL了,导致出现段错误。  我现在想知道到底是哪里将指针值变为NULL的。

1、尝试添加watchpoint,但是提示以下错误,貌似硬件观察点不足的意思。但是gnu官网上说当硬件观察点不足时,会自动启用软件观察点。ftp://ftp.gnu.org/old-gnu/Manuals/gdb/html_node/gdb_29.html

  Could not insert hardware watchpoint 1.
  Could not insert hardware breakpoints:
  You may have requested too many hardware breakpoints/watchpoints.

2、或者还有没有什么其他好的方法帮我定位到到底是哪里将全局变量指针的值变为NULL了?


  灰常感谢!

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
2 [报告]
发表于 2014-04-26 13:48 |只看该作者
回复 1# zhayun604863141


    watch point 就是最好的方法了。

论坛徽章:
0
3 [报告]
发表于 2014-04-26 17:55 |只看该作者
本帖最后由 疯尼克斯 于 2014-04-26 17:55 编辑

如果你的变量在初始化完了以后不再改动
初始化完了以后可以用mprotect保护那个变量 (必须以页为单位),有人访问就会异常

论坛徽章:
0
4 [报告]
发表于 2014-04-28 14:02 |只看该作者
楼主的watch后的表达式写错了吧

论坛徽章:
7
数据库技术版块每日发帖之星
日期:2015-08-08 06:20:00数据库技术版块每日发帖之星
日期:2015-08-29 06:20:00数据库技术版块每日发帖之星
日期:2015-08-29 06:20:00数据库技术版块每日发帖之星
日期:2015-09-18 06:20:00数据库技术版块每周发帖之星
日期:2015-11-06 19:56:51数据库技术版块每日发帖之星
日期:2016-01-22 06:20:00数据库技术版块每日发帖之星
日期:2016-02-05 06:20:00
5 [报告]
发表于 2014-04-28 19:33 |只看该作者
二分法 print 吧

论坛徽章:
771
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
6 [报告]
发表于 2014-04-28 23:53 |只看该作者
可以设置条件断点的吧。
break if p==0?

论坛徽章:
0
7 [报告]
发表于 2014-04-29 19:31 |只看该作者
回复 6# Herowinter

不行,变量被修改的函数太多,不知道那个函数或者哪行代码。


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP