包含了自己的一些思考,欢迎高手指点。主要是有几个方法:
-
编译时错误
这部分错误,在编译过程中,一般的编译器都会对语法和语义分析然后给出相关的警告或者错误。相对应的还有更复杂的运行时错误 -
调试工具或者用IDE
程序错误使用调试工具进行定位,如gdb等。IDE也是使用的调试工具。 -
打印输出
小程序可以打印到终端如 C语言的 printf,C++ 的 std::cout。大项目可以写 log。使用日志框架或者自己手动写。可以发现运行时错误、逻辑错误。 -
逻辑错误
这部分错误是很难被发现的。可能是解决具体问题的算法逻辑或者整个项目模块之间的设计逻辑等。 -
注意编码习惯
在容易出现问题的地方,比如链表判空、指针判空、数组容易越界的地方,及时写异常处理的代码,并标记位置。如C语言的 宏__LINE__
,__FILE__
,__func__
可以定位代码的位置 -
使用程序库提供的异常处理方法
如C++异常处理、Java的异常处理 -
设计测试用例和使用单元测试
对边界值等各种情况设计测试用例进行测试
扩展阅读:
[1] https://www.lemoda.net/c/line-file-func/
[2] https://textexpander.com/blog/the-7-most-common-types-of-errors-in-programming-and-how-to-avoid-them