所需E币: 5
时间: 2019-12-25 12:19
大小: 77.44KB
C语言进阶-第八讲编写安全无错的代码第八讲代码的调试凌明trio@seu.edu.cn东南大学国家专用集成电路系统工程技术研究中心www.cnasic.com目录BugsvsDebugging!!断点,单步,变量的观察与修改,内存观察与修改,调用栈Bug的定位关注代码的层次与接口关注内存的访问越界(堆栈溢出,缓冲区溢出,数组越界)关注边界情况Bug的修正让代码检查自己的错误利用断言利用调试宏参数的合法性检查堆栈的监控(溢出?)内存数据结构的监控(Audit)调试信息的记录与输出其他的方法和工具代码检查(CodeRevieworCodeInspection)编译器的警告与Lint工具好的CodingStylewww.cnasic.comBugsvsDebugging没有Bug的就不是软件核心的问题是:怎样发现程序错误的根源?怎样在软件中自动地查出这个错误?怎样修正这个错误?怎样避免这个错误?www.cnasic.com初学者的困惑在错误面前一筹莫展拼命的单步,但却不知道该关心什么?根本就不单步跟踪程序,或者不敢往下层函数跟踪总是发现编译器的“Bug”……