遇到的BUG
内存指针相关
C++结构体的初始化问题
一个C++服务偶发性段错误,调试后发现是一个指针问题。
一个C库的结构体struct S3_Prop
,内部有一个指针。
使用时我直接S3_Porp p;
,然后设置了相关的成员变量,但是没有对指针赋值。
由于直接在栈上创建对象,调用了默认构造(也就是啥都没干),该对象内部 可能会残留内存之前的值。指针部分也可能会被影响。
后续使用该对象时,调用者发现指针不为空,就对指针进行了相关操作,但是其实该指针是一个野指针。所以段错误。
使用前把这个结构体memset为0就好了。
由于是C的结构体,没有构造,容易出现这个问题。