改Bug的收获

1、遇到的问题

要在数据库中写一个简单的触发器,限制最高权限的用户删除自己,触发器只不过10几行代码。在shell中使用sql语句delete拥有管理员角色的用户会触发触发器阻止删除,但是在Flask-Admin中删除就会顺利删除,没有报任何异常。

2、自己的解决过程

再三验证触发器是否正确,重复在Flask-Admin后台删除用户,没有任何日志输出,没有调试信息,没有堆栈信息。

3、大佬的解决思路

首先验证触发器写的是否正确,验证通过,接着将ORM操作转成的sql语句输出到控制台,输出太多看不清怎么办?截取想要的输出日志赋值到文本编辑器,关键字拆分。
真相一目了然,所有的问题迎刃而解。

4、收获

调试信息很重要、调试信息很重要、调试信息很重要!
遇到难解决的Bug不能使蛮劲,要抓住问题的本质,从根源去找原因。
这次给我的最大的收获是遇到问题思考的方向很重要,手段同样重要,项目中的异常、提示一定要具体,项目中踩过的坑要记录,一方后来接手项目的人在浪费时间。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容