码迷,mamicode.com
首页 > 其他好文 > 详细

一条忽略的告警引发的coredump

时间:2020-05-12 15:20:45      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:cas   tab   文件   ash   initial   程序   pointer   总结   ble   

遇到一个问题,莫名其妙的出现coredump。期望返回的是指针值,但是返回值有截断的效果。

(gdb) p hash_table
$1 = (sf_ht_t ) 0xffffffffe0d66e00 -------->截断值,高32位为F,低32位正确。
(gdb) p ht_table
$2 = (struct sf_ht
) 0x7f82e0d66e00 --------->正确值

aaa.c:1130:38: warning: initialization of ‘sf_ht_t ’ {aka ‘struct sf_ht ’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
由于没有及时处理代码中的告警。将返回值的指针值系统优化为int。导致程序coredump。

问题原因是:
函数调用时,找不到函数定义。没有引用头文件导致的。
总结:正确对待,程序编译过程中的每一个warning。

一条忽略的告警引发的coredump

标签:cas   tab   文件   ash   initial   程序   pointer   总结   ble   

原文地址:https://blog.51cto.com/qiaopeng688/2494559

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!