研二
工作记录
如果程序崩溃,首先写主函数调用一遍。如果无法通过主函数调用 ——
- 检查free的内存释放,先把所有的内存释放都注释掉再跑一遍。内存不释放不会立刻导致程序崩溃,因为内存容量是很足的。如果此时没有崩溃,则确定是内存出现了重复释放的问题。这时候一个一个取消内存的注释再行测试。
- 检查如果内存释放无误则问题基本确定是指针调用越界的问题。这时候尝试放大空间开辟的大小(先测试指针开辟空间,然后测试数组开辟空间)。
- 检查在初始化变量时是否将指针声明为了普通 变量,如:将**unsigned char *声明为了unsigned char **。
- 检查在调用时,是否直接对指针进行了错误的赋值,如:
unsigned int *a = 10;
这种操作。
以上四点建议按先后顺序进行检查,因为经验来说出现频率由高到低。
程序调试指南:内存与指针问题排查
这篇博客分享了程序调试中的常见问题及解决步骤,包括如何检查内存释放、指针越界、变量声明错误以及直接对指针赋值的不当操作。通过这些步骤,可以帮助开发者更有效地定位和修复程序崩溃的原因。

被折叠的 条评论
为什么被折叠?



