原理:
valgrind在Invalid后会打印
1、代码操作的异常指针地址
2、操作异常指针的堆栈
然后在代码中通过打印在valgrind的Invalid类型的指针地址,从而啊按照以下关联关系找到问题原因:
valgrind的异常信息--关联日志中的指针地址--请求处理轨迹
举例:
valgrind说log->handler的地址不能读取数据
举例2:
异常
代码:
s- &s->posted=0x30
valgrind上异常的是s->posted,其地址为0xb8cc3e60
所有可以得出其s的地址为0xb8cc3e30
然后过滤日志:
从而得到异常请求的日志,从而得到其运行轨迹