多是指指针或数组访问越界
大毛的解答:
1 编译(build),运行(run),调试(debug&release)
(1)编译错表示语法不对,因为编译只检查语法
(2)运行出错(run time error),就是你的代码调用系统的错。
(3)调试:debug能力是程序员的核心能力,不止和编程语言有关,还和对操作系统的熟悉程度有关。
debug & release:
release和debug是指编译的不同版本(同一个编译器compiler可以链接link不同的runtime library运行库,而把程序compiler【编译】为不同的version【版本】
),一般认为debug是测试版,release为发布版。debug由于要检查错误,所以代码运行的时候做了很多合法性检查;而release没有,release运行速度一般有debug的10倍左右。因为debug的东西link的库有调试信息,便于发现错误。
2 关于codeblocks:
(1)F8为debug,Build target 可以选择“debug”和“release”两种version。
(2)调试相关的按钮:
第一个是start,第二个是代码运行到指针处,第三个 下一行,第4个下一个代码块,一般认为是一个方法,第5个step into一个方法,第6个step out,第7个 结束
(3)相关链接:
codeblocks的wiki http://wiki.codeblocks.org/index.php?title=Main_Page
debug 程序的地方 http://wiki.codeblocks.org/index.php?title=Debugging_with_Code::Blocks
debug 和Fortran http://wiki.codeblocks.org/index.php?title=Installing_Fortran_Compiler
zz:Debug通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。Debug 和 Release 的真正秘密,在于一组编译选项。