调试器是一个计算机程序

来源:互联网 发布:c 函数定义数组长度 编辑:程序博客网 时间:2024/06/16 01:33
不幸的是,编译器将无法捕捉到这些类型的问题,因为编译器只知道你写的是什么,而不是你的意图。
在上面的例子中,错误是相当容易发现的。但在最不平凡的程序,许多语义错误不容易通过目测找到代码。

幸运的是,这是一个调试器可以真的很方便。


调试器


调试器是一个计算机程序,允许程序员控制程序如何执行和监视它运行时所发生的情况。例如,程序员可以使用调试器通过行来执行一个程序,检查变量的值的方法。通过将变量的实际值与期望值进行比较,或者通过代码观察到执行的路径,调试器可以极大地帮助跟踪语义错误。
早期的调试器,如GDB,有命令行界面,程序员必须在神秘的命令去做。后来的调试器(如Borland的Turbo Debugger)来与自己的“图形”的前端,使他们工作更容易。几乎所有的现代IDE可用这些天已经集成调试器,调试器是内置的编辑器,这样你可以调试使用相同的环境,你写你的代码(而不是切换程序)。

几乎所有的现代调试器包含同一组标准的基本特征,然而,很少有一致性,对于如何使用这些功能的菜单设置,并在键盘快捷键更一致。虽然我们的例子将是从微软的视觉工作室2005快车,你应该有一点麻烦,找出如何访问每个功能,我们讨论无论你使用的开发环境。

123456789101112#include <iostream> void printValue(int nValue){    std::cout << nValue;} int main(){    printValue(5);    return 0;}

你知道的,运行程序时,执行一开始就调用main()。因为我们想调试main()里面,我们开始用“进入”命令。
在Visual Studio 2005 Express,去“调试”菜单并选择“进入”,或按F11。
如果您使用的是不同的IDE,找到“进入”菜单命令并选择它。
当你这样做的时候,两件事应该发生。首先,因为我们的应用程序是一个控制台程序,一个控制台输出窗口应该打开。它会是空的,因为我们还没有输出任何东西。第二,你应该看到一些标记出现在左侧的开括号的主要。在视觉工作室2005表示,这个标记是一个黄色箭头。如果您使用的是不同的IDE,你应该看到的东西,有同样的作用。


虽然你可能认为,调试器试图再次打电话printvalue(),实际上调试器只是让你知道,它是从函数调用返回。
选择“进入”两倍以上。在这一点上,我们已经执行了我们的程序中的所有行,所以我们已经完成了。一些调试器将终止调试会话自动在这一点上。如果您正在使用“视觉工作室”,请从“调试”菜单中选择“停止调试”。这将终止您的调试会话。
请注意,“停止调试”可以在调试过程中的任何一点使用,以结束调试会话。
步过
像“步进”,命令在命令执行下一行代码。如果这条线是一个函数调用,“一步”执行所有的代码在函数中,并返回控制到您的功能已被执行后。
代码块:块用户:在代码中:块,“一步一步”被称为“下一行”。

0 0