searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

valgrind分析内存异常实践

2023-09-20 08:03:12
9
0

原理:
valgrind在Invalid后会打印
1、代码操作的异常指针地址
2、操作异常指针的堆栈


然后在代码中通过打印在valgrind的Invalid类型的指针地址,从而啊按照以下关联关系找到问题原因:
valgrind的异常信息--关联日志中的指针地址--请求处理轨迹

 


举例:

 


valgrind说log->handler的地址不能读取数据

 

 


举例2:
异常


代码:

 


s- &s->posted=0x30 


valgrind上异常的是s->posted,其地址为0xb8cc3e60  
所有可以得出其s的地址为0xb8cc3e30


然后过滤日志:

 

从而得到异常请求的日志,从而得到其运行轨迹

 

0条评论
0 / 1000
何****毅
5文章数
0粉丝数
何****毅
5 文章 | 0 粉丝
何****毅
5文章数
0粉丝数
何****毅
5 文章 | 0 粉丝
原创

valgrind分析内存异常实践

2023-09-20 08:03:12
9
0

原理:
valgrind在Invalid后会打印
1、代码操作的异常指针地址
2、操作异常指针的堆栈


然后在代码中通过打印在valgrind的Invalid类型的指针地址,从而啊按照以下关联关系找到问题原因:
valgrind的异常信息--关联日志中的指针地址--请求处理轨迹

 


举例:

 


valgrind说log->handler的地址不能读取数据

 

 


举例2:
异常


代码:

 


s- &s->posted=0x30 


valgrind上异常的是s->posted,其地址为0xb8cc3e60  
所有可以得出其s的地址为0xb8cc3e30


然后过滤日志:

 

从而得到异常请求的日志,从而得到其运行轨迹

 

文章来自个人专栏
软件设计思想
5 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0