什么是addr2line?
语法格式
参考实例
static int debug_test(void)
{
int8_t *buf = NULL;
printf("[%s] before crash, buf=%p", __func__, buf);
*buf = 100;
printf("[%s] after crash", __func__);
return 0;
}
crash日志
addr2line分析
什么是objdump?
语法格式
参考实例
crash日志
objdump分析
什么是Asan?
使用限制
缺点
Address Sanitizer可以用来检测如下内存使用错误:
参考实例
int debug_test(void)
{
char b[5] = { 0 };
printf("[%s] before crash", __func__);
cpl_memset(b, 6, 10);
printf("[%s] after crash", __func__);
return 0;
}
crash日志
Asan分析