辅助功能开发—内存分配释放问题

背景:

开发辅助功能时候,我们构建call,肯定需要构建参数,有的参数堆上变量,不能用局部变量,因为下层的调用可能会释放变量崩溃。

判断标准:

在需要构建call的地方和返回的地方下断点,比对调用参数和调用之后是否有变化,如果值被失败修改空,或者明显已经用于别的数据用途,那么说明这块的内容被释放了,那么被释放肯定是堆上变量。(其实一般通过内地地址来看是不是栈也能知道是不是堆上的,但你不能知道是否需要手动释放,只能比对内存)。 如果实在不放心,先malloc ,你在call调用释放,如果释放不奔溃,那么就说明call需要手动释放内存,否则就不需要。因为malloc的地址,释放2次基本都会崩溃

作用:

防止内存泄露,如果这个call频繁调用,那么很快就内存堆积起来,留一个隐患在那里。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注