1、Page 1C C上机调试指导上机调试指导 上机实验时上机实验时, ,我们经常会遇到很多问题我们经常会遇到很多问题, ,以至与以至与程序不能正确编译程序不能正确编译, ,或正常编译后程序运行结或正常编译后程序运行结果不正确果不正确 介绍常见的错误和解决问题的方法介绍常见的错误和解决问题的方法Page 2语法错误语法错误 通过双击错误条目通过双击错误条目, ,可以自动定位到程序错误可以自动定位到程序错误所在行所在行 当有多个当有多个errorerror时时, ,一般先修改第一个一般先修改第一个errorerror 点击点击FileViewFileView标签栏标签栏, ,可以参看当前工程包含可以
2、参看当前工程包含哪些文件哪些文件 初学时初学时, ,一个工程仅包含一个文件一个工程仅包含一个文件; ;做新的练习做新的练习时时, ,关掉关掉VC,VC,重新打开重新打开, ,再建新的工程再建新的工程, ,新的源文新的源文件件 可以通过将语句注释化可以通过将语句注释化(/ /(/ /* * * */)/)进行语法进行语法错误的定位错误的定位Page 3常见语法错误常见语法错误 汉语字符汉语字符 - unknown character 0 xa3unknown character 0 xa3 变量未定义就直接使用变量未定义就直接使用- j : undeclared identifierj : un
3、declared identifier 忘写忘写 ; ;- unexpected end of file foundunexpected end of file found 忘包含头文件忘包含头文件 #include stdio.h#include - printfprintf : undeclared identifier : undeclared identifier 一个工程中有多个一个工程中有多个 main() main() - function void main( ) already has a bodyfunction void main( ) already has a bod
4、y 新建的必须是新建的必须是 Win32 Console ApplicationWin32 Console Application工工程程, C+ Source File , C+ Source File 源文件源文件Page 4逻辑错误逻辑错误编译通过编译通过, ,但运行结果出错但运行结果出错, ,叫做逻辑错误叫做逻辑错误: :算法思想错误算法思想错误在判断表达式忽略在判断表达式忽略= =与与=的区别的区别逻辑运算符的优化逻辑运算符的优化+的前置与后置的区别的前置与后置的区别循环语句内的多条语句要用循环语句内的多条语句要用 解决方法解决方法: :断点跟踪调试断点跟踪调试Page 5 VC的调
5、试工具允许在断点后每次只执行一行代码(F5开始调试; F10、F11每次执行一行)1.1.设置断点设置断点 跟踪程序段的执行跟踪程序段的执行2.2.进入函数调用或跳过函数调用进入函数调用或跳过函数调用3.3.设置监视窗口观察变量和表达式设置监视窗口观察变量和表达式Page 6 可以在需要可以在需要设置断点的程序行上用鼠标左键单击的程序行上用鼠标左键单击insert/removeinsert/remove breakpointbreakpoint设置或移除断点设置或移除断点 可以在可以在EDIT-BREAKPOINTEDIT-BREAKPOINT下查看现在设置的所有断点下查看现在设置的所有断点的位置的位置 可以进入断点处的一个函数并执行它的下一条命令可以进入断点处的一个函数并执行它的下一条命令 可以按可以按F10F10键跳过这个函数,按键跳过这个函数,按F11F11可以让调试工具指可以让调试工具指向该函数的第一行向该函数的第一行 设置断点及调试设置断点及调试