分享一个Bug的神奇解决经历

首先这个绝对是真实事件, 就在今晚发生;

事情是这样的,我让同事给一个sprite换张图片,结果过了好几分钟,他跟我说:这图片怎么编辑器里设置好了, 运行时就变小了;

我开始以为SpritesizeMode 有问题,比如使用了raw之类的,然后运行时用我的插件查看 :face_with_monocle:之后发现sprite.type没问题,scale也没问题,跟编辑器一样;

然后我们发现contentSize变小了,奇怪,我们没有代码引用这个节点,不应该呀? :thinking:

难道是其他同事的代码有改到了吗?

这时我突然 :laughing:想到我的插件最近增加了一个功能,就是可以在节点改变尺寸时触发断点,于是乎我首次使用了这项功能,直接在节点树上设好断点,打开界面, 顺利触发;

然后我们在断点的调用栈列表发现有WidgetManager的代码调用, 并没有我们自己的代码,于是乎我们想到难道节点上挂了widget

结果一看, 的确是这样, 删掉widget,刷新游戏,bug顺利解决!! :kissing_heart:

别看我写这么多字,实际上解决bug的过程不过十几秒 :scream:而已;

这后面的部分被认为有广告夸张成分我现在特地标出来, 大家可以自行思考辨别 :rofl:
------------------------- 分割线 ---------------------------
而如果没有这个插件这项功能, 我们可能想破头,抓耳挠腮,加班熬夜, 浪费几十分钟到几个小时,换成工资你算算浪费多少money :scream:,最终也可能删掉节点做一个新的,也永远不知道bug产生的真实原因

相关:
DrawCall实时GIF演示
如何直接定位场景元素

4赞

:grinning: :grinning:大大的这款插件真的非常棒,很节约时间,提高开发效率

1赞

Nice!

1赞

牛逼了word天啊

1赞

这个真是程序员居家/旅行神器!

1赞

这种问题node上打个条件断点就能找到了。。。。

你那会受每个node的影响,而且你找断点位置的时候,插件这边断点已经设好,bug已经找到了 :grin:
@visow

主要是插件这边界面化操作更加直观快捷

之前用来查contentsize设置全屏初始化不生效的bug,确实省很多时间。

1赞

。。。。。。
“条件”断点

你需要寻找一个合适的地方下条件断点, 这需要一点时间,还要手动打字设定条件,并且为了指定某个节点才触发断点, 你还得在条件里加节点uuid判断,这个节点的uuid你从哪来, 又要花一点功夫

这一系列的成本下来, 你算算;

而插件几乎只需要1秒即可设定好断点, 不需要考虑以上任何问题
如果经常遇到这种问题,插件多次节约的时间也可以算算 :laughing:

一个条件断点能耗多少时间?抱歉,就是很烦技术上的夸张广告。

1赞

这个是稍微夸张点了,但是没有经验的小伙伴也不是不可能;

而且手动设断点的成本的确远远高于使用插件吧?
程序能做的事情完全没必要手动做 :smile:

我觉得这款插件帮我解决了不少问题,一下子找到了问题

1赞

方便实用!

1赞

造福我们这群社畜码农
大佬一生平安 :laughing: :laughing: :laughing:

1赞

个人觉得,真正造福社区和广大群众,最好的方式应该是开源。
真的好用,无需这样打广告,越打广告反而越耐人寻味。
真有这个能力不怕开源,有了名气,自己做的项目发个链接无需多说,照样能赚钱。
所以,终究还是思想层次上的区别,这点cocos 做的就很好。

??? 你的思想怕是有问题吧. 人家付出了时间和精力做出了这个插件,收费是理所当然的.

1赞

我热烈欢迎你做一个来开源, 最好把楼主做的这个完全比下去

超级期待!

1赞


贴一下此功能的最新截图