添加调试日志,bug消失

这篇具有很好参考价值的文章主要介绍了添加调试日志,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;
}

添加调试日志,bug消失,代码优化,bug

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;
}

添加调试日志,bug消失,代码优化,bug

3、原因:

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

添加调试日志,bug消失,代码优化,bug

添加调试日志,bug消失,代码优化,bug

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必定崩溃,是其他随机值时,怎么不崩溃?文章来源地址https://www.toymoban.com/news/detail-766914.html

到了这里,关于添加调试日志,bug消失的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Postman进阶篇(二)-console控制台(查看接口日志、调试代码)

    Postman进阶篇(二)-console控制台(查看接口日志、调试代码)

    如果你觉得这篇内容对你有所帮助,有所启发,我想邀请你帮我个忙: 关注我的公众号【软件测试必备技能】,经常会分享软件测试干货。 搜索公众号名称,或点击文章底部卡片即可加我。 ———————————————————————————————— 进入postm

    2024年02月02日
    浏览(41)
  • Ubuntu 22.04 突然失去网络图标,无法ping通等网络消失问题。bug修复

    目前主流解决方案如下, But! 在我的解决过程中完全失效,固参考一位知乎方案遂解决。 在VM虚拟机上搭建的Ubuntu22.04网络图标突然消失无法联网解决方法 注:这个是我参考的主流方案,解决失败的过程,但也有很多人因此成功,大家可以自行尝试 关闭NetworkManager 修改Net

    2024年01月21日
    浏览(18)
  • 一篇普通的bug日志——bug的尽头是next吗?

    一篇普通的bug日志——bug的尽头是next吗?

    问题代码: 原因: parameters 后面少了个括号。 这段报错可以用如下代码重现出来: 原因: 传给 {:4f} 的应该是一个浮点数 数值 ,而 x 是 numpy 的数组,于是类型不匹配。我们只需将 x 转为浮点型即可,正确代码如下: 描述 学习预训练模型的 fine-tune 时,将 AI Studio 上能跑的

    2024年02月02日
    浏览(5)
  • echarts图表下载时toolbox会先消失再显示的优化

    1.在我的理解是由于echarts下载的图片不需要展示toolbox操作栏,因此图表会先将toolbox的dom先隐藏然后将图表区域合成一张图片实现下载 2.如何解决在点击下载图标时toolbox不隐藏又能下载成功呢?答案是替换原有的下载功能 这里再toolbox中先实现一个自定义的mySave下载图标  先

    2024年02月15日
    浏览(5)
  • Python急速入门——(第十章:bug和调试)

    Python急速入门——(第十章:bug和调试)

    bug就是程序运行中出现的错误。 一般常见的bug类型有两类,一类是语法错误,这类错误比较好解决,程序会直接报红,然后我们在对应报红的位置查找问题即可;第二类是思路错误,这类错误就不是很好解决了,因为程序不会直接报错,只是运行的结果达不到我们的预期,这

    2024年01月22日
    浏览(4)
  • 十一、做高并发内存池项目过程中遇到的bug以及调试bug的方法和心得

    十一、做高并发内存池项目过程中遇到的bug以及调试bug的方法和心得

    第一个bug是内存问题,程序直接崩溃,问题出现在:GetOneSpan函数中的切分span的时候结尾的span1的next没有置空。 第二个bug是还小内存块给span的时候找不到小内存所属的span,原因是NewSpan函数中的一个if分支返回前没有把id和span*的映射关系存好。 修bug前: 修bug后: 第三个bug出

    2024年02月10日
    浏览(11)
  • 【Windows优化篇】Windows11系统卡顿、AMD电脑卡顿、任务栏消失解决方案

    Windows11太多bug,与A卡兼容一般。断开电源,强制关机,再开机!!!—【蘇小沐】 1.实验环境 系统 版本 Windows 11 专业工作站版 22H2(22621.900); 卡顿、应用程序打不开、蓝屏等问题。 解决方法:拔掉电源适配器(电脑充电器!!!),强制关机再开机!!! 拔掉笔记本电

    2024年02月01日
    浏览(9)
  • 最常用的调试 golang 的 bug 以及性能问题的实践方法

    (1) shell内置time指令 这个方法不算新颖,但是确很实用。 time 是Unix/Linux内置多命令,使用时一般不用传过多参数,直接跟上需要调试多程序即可。 上面是使用time对 go run test2.go 对执行程序坐了性能分析,得到3个指标。 real :从程序开始到结束,实际度过的时间; user :程序

    2024年02月16日
    浏览(7)
  • idea的代码突然消失了怎么复原

    idea的代码突然消失了怎么复原

    我在IDEA开发项目过程中,修改了代码,想要提交我写的代码就点击了idea中自带的git的拉取代码按钮,但是手贱的我又点击了idea下面进度条的关闭。 以上操作直接导致我本地修改的代码文件的内容全部清空了,吓了我一机灵,我第一反应是:窝巢?我代码呢? 如果代码丢失

    2024年02月11日
    浏览(5)
  • Unity - 踩坑日志 - 低版本线性颜色空间渲染异常的 “BUG”

    Unity - 踩坑日志 - 低版本线性颜色空间渲染异常的 “BUG”

    Unity : 2020.2.5f1 Pipeline : BRP 因为这部分的 BUG,可能是前程序遗留下来的 线性空间处理不当的 异常代码所致 所致准确来说应该是 前程序 遗留下来的 “BUG” 今天发现我自己新建的一个试验工程,PBR 线性工作流是没有问题的 然后在公司中会有问题 诊断了一整天,最后发现这个

    2023年04月26日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包