- 论坛徽章:
- 0
|
差别大了。
microhard和freeware老鸟的都可以保证每个功能都正确可靠,有故障立刻被发现,被修复,软件做的越来越好;
而xx面业集团的东西却永远无法找到bug,但也永远不能正确使用——你会发现,你的文档保存总是失败或者提示成功却丢失了所有信息;当你添加/删除了几个字符,忽然又能保存了。没等你欢呼,一个字体加粗又引来了显示错乱;鼠标一点,忽然又正常了……你暴跳如雷;然而他们的客服重复了你所能想到的一切操作,故障却再也没有出现……
这种东西,你敢用吗?
看来先生认为崩溃,而且每次都崩溃是一个发现故障,找到故障的好办法。
你会发现,你的文档保存总是失败或者提示成功却丢失了所有信息。
如果每次都能得到同一个错误码,定位是很快的。 的确 定位不如 崩溃来得直接和震感。
当然如果代码逻辑本身写得烂, 每次错误原因都不一样,那就没什么好说的。
然而他们的客服重复了你所能想到的一切操作,故障却再也没有出现 。
microhard和freeware老鸟 也可能出现这种情况, 如果偶尔崩溃,偶尔不崩溃。 定位是同样困难的。 只是2者表现形式不一样.
从产品角度来说, 出错给个出错的日志 是客户比较接收的方式, 崩溃,对于客户而言,即使你好,他们无法接收。所以更多时候我们
只能靠日志来调试。而不是一个崩溃。
返回arg error,上层当然就可以不知道该怎么办了。 如果是这样的想法, 我建议在strcpy 里面 先判断 是否为NULL 是的话 直接write stderr ,exit(0) 这样定位更好。
还有一个bug, 是我们产品中的, 说出来不怕丢人,
c++ builder 的每次会出现一个异常窗口。..... 无法找到调用点。 每次都是死在那里,出现的情况,次数,条件都是偶然的。 无论调试 环境还是日志 都无法记录这个异常的调用者。调用堆栈为空,日志一切正常。
最后我们只能起个看门狗,点掉窗口, 然后重启程序, 写上日志。 |
|