编程中的调试、优化与浮点运算
一、调试相关内容
1.1 调试基础与断点设置
在调试程序时,我们可以利用特定行设置断点。例如,代码中的第 49 行虽无实际功能,但可作为调试器的停止点。我们可以使用 stop at 49 命令在该行设置断点。程序会先处理前 734 个点,然后执行第 49 行并触发断点。部分调试器支持条件断点,如 stop at 49 if point_number == 735 ,不过并非所有调试器都具备此高级功能。
1.2 运行时错误类型及处理
运行时错误通常较易修复,常见的运行时错误类型如下:
- 段错误(Segmentation Violation) :表示程序试图解引用包含错误值的指针。
- 栈溢出(Stack Overflow) :程序尝试使用过多临时变量。有时是因为程序过大或使用了过多大型临时数组,但多数情况是由于无限递归问题。几乎所有 UNIX 系统会自动检查此错误,Turbo C++ 和 Borland C++ 仅在使用编译时选项 –N 时检查栈溢出。
- 除零错误(Divide by 0) :这是明显的错误。UNIX 会以 “Floating exception (core dumped)” 错误消息报告整数除零问题。
这些错误会使程序停止执行,在 UNIX 系统中,会生成一个名为核心文件(core file)的运行程序映像。
超级会员免费看
订阅专栏 解锁全文
2690

被折叠的 条评论
为什么被折叠?



