添加调试日志,bug消失

参考:就删了个printf,代码崩了!

1、运行报错代码
复制代码
#include "stdio.h"
#include "stdlib.h"
#include "string.h"

void func1()
{
    int arr[10];
    memset(arr, 1, sizeof(arr));
}

void func2()
{
    int index;
    int* arr = (int*) malloc(5);
    arr[index] = 55;
}

int main()
{
    func1();
    func2();

    return 0;
}
2、添加打印日志,段错误消失
复制代码
#include "stdio.h"
#include "stdlib.h"
#include "string.h"

void func1()
{
    int arr[10];
    memset(arr, 1, sizeof(arr));
}

void func2()
{
    int index;
    int* arr = (int*) malloc(5);
    arr[index] = 55;
}

void printLog()
{
    printf("Hello world\n");
}

int main()
{
    func1();
    printLog();
    func2();

    return 0;
}
3、原因:

未添加打印日志时,index的值是func1中残留的值

4、扩展问题:

1)printf中没加'\n'时,必定崩溃,func2函数中index一定是0x01010101;

2)在func1函数中加printf("Hello world\n");必定崩溃,func2函数中index一定是0x01010101;

3)当func1函数中arr数组大小是10时,index才必定是0x01010101;当为其他值时,index也是随机值;

4)index是0x01010101必定崩溃,是其他随机值时,怎么不崩溃?

相关推荐
乐兮创想 小林7 小时前
企业官网的运维分工模型:内容自助、Bug 终身免费修与服务器托管的边界设计
运维·服务器·bug·网站建设·企业官网·北京网站建设公司
菠萝猫yena7 小时前
bug描述规范
bug
乐兮创想 小林7 小时前
生物科技官网的工程化设计:产品×应用二维信息架构、多语言与国际化 SEO 实践
运维·服务器·bug·网站建设·企业官网·北京网站建设公司
调问开源问卷DWSurvey21 小时前
调问更新5.16~5.30:解锁Excel图片上传,修复多项高频体验Bug
bug
胡图图不糊涂^_^1 天前
测试BUG篇
学习·bug·测试
搬石头的马农1 天前
从零配置Claude自动修Bug:6步打造全自动开发流程
java·人工智能·python·bug·ai编程
winlife_1 天前
让 AI 自动跑 PlayMode 回归测试:从 BUG 注入到自动判 FAIL 的完整闭环
人工智能·unity·bug·ai编程·mcp·回归测试·游戏测试
坚果的博客1 天前
Flutter OHOS SDK 版本目录校验 Bug 修复实战
flutter·bug
加强洁西卡1 天前
【Bug】解决vscode里ssh连接的虚拟机的codex的侧边栏打开只有logo没有登录或输入框的问题
bug
不懂的浪漫2 天前
Codex 更新后历史 Session 消失?我写了一个修复官方 Bug 的 Recovery Skill
bug·codex·skill