调试日志需要包含的调试信息
- 位置信息:文件名、行号、函数名
- 错误信息:变量名、变量内容、期待的变量内容、对该变量进行的操作、操作的返回值内容
错误简述:成功、失败(如果作为函数的返回值时,需包含的内容,可要可不要)
根据上述,打印的信息应该就可以在不调试代码的情况下定位程序的bug所在了,当然必须每个步骤都要进行相应的成功性检查,并在失败的时候将相关的信息打印出来。
其他想法
- 如果将上述结构作为函数的返回值,那么函数的负担将变重。尤其是看了protobuf生成的代码后。
函数结构的思考
- 入参的有效性检验,不合法则返回
- 函数的相关操作,最好不要中途退出函数,尤其是含有内存分配的操作易引起内存泄露,好像可以通过使用智能指针来解决这个问题。
- 函数的返回值