调试器是一个计算机程序

2023-11-25 13:18
文章标签 调试器 计算机程序

本文主要是介绍调试器是一个计算机程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

不幸的是,编译器将无法捕捉到这些类型的问题,因为编译器只知道你写的是什么,而不是你的意图。
在上面的例子中,错误是相当容易发现的。但在最不平凡的程序,许多语义错误不容易通过目测找到代码。

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


调试器


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

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

1
2
3
4
5
6
7
8
9
10
11
12
#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(),实际上调试器只是让你知道,它是从函数调用返回。
选择“进入”两倍以上。在这一点上,我们已经执行了我们的程序中的所有行,所以我们已经完成了。一些调试器将终止调试会话自动在这一点上。如果您正在使用“视觉工作室”,请从“调试”菜单中选择“停止调试”。这将终止您的调试会话。
请注意,“停止调试”可以在调试过程中的任何一点使用,以结束调试会话。
步过
像“步进”,命令在命令执行下一行代码。如果这条线是一个函数调用,“一步”执行所有的代码在函数中,并返回控制到您的功能已被执行后。
代码块:块用户:在代码中:块,“一步一步”被称为“下一行”。

这篇关于调试器是一个计算机程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/423875

相关文章

【手机刷题题库】扫码就能刷计算机程序设计员三级理论题库

CSDN的朋友们大家周五好,我是小芝005 人工智能竞争愈演愈烈,计算机程序设计员成为了一个热门职业。然而,要在这个竞争激烈的领域取得职业发展和成功并不容易。除了具备扎实的编程技能和经验外,持有计算机程序设计员三级证书也可为职业发展带来巨大的推动力。 本文将探讨计算机程序设计员三级证书对于职业晋升、加薪和补贴的重要性,以及如何通过考证提升个人职业竞争力。 1. 考证的重要性与职业

《计算机程序的构造和解释》阅读笔记:准备(3)【python3简单实现lisp解释器(3)】

下面是我在原基础上添加了一些功能的解释器代码(超详细的注释) ################ python3 实现 lisp 解释器'''语言的语法是指组成正确的语句或表达式的顺序,语义指那些表达式或语句的内在含义。解释器流程程序 => 解析 => 抽象语法树 => 执行(语义) => 结果1:解析语法2:添加环境3:执行4:添加交互式5: 将Env重定义为Class6:添加符

《计算机程序的构造和解释》阅读笔记:准备(2)【python3简单实现lisp解释器(2)】

四:交互式 可以在终端输入代码并显示执行结果 '''语言的语法是指组成正确的语句或表达式的顺序,语义指那些表达式或语句的内在含义。解释器流程程序 => 解析 => 抽象语法树 => 执行(语义) => 结果1:解析语法2:添加环境3:执行4:添加交互式'''import math import operator as opSymbol = str # 字符串List =

《计算机程序的构造和解释》阅读笔记:准备(1)【python3简单实现lisp解释器(1)】

打算深入阅读一下《计算机程序的构造和解释》,这应该会是一个比较漫长的过程,虽然这本书章节不多,但信息量挺大的,书的最后还会编写一个简单的解释器,也可以当作编译原理的简单入门。 这是对于《计算机程序的构造和解释》这本书阅读的准备,因为书用lisp语言,所以我先看了一下(How to Write a (Lisp) Interpreter (in Python))(如何用python实现一个lisp解

初次使用gdb调试器,出现的No symbol table is loaded. Use the “file“ command.问题

初次使用gdb调试器,中间出了好多问题,例如标题所说的No symbol table is loaded.  Use the "file" command.问题,是最常见的。看书时,开章就提示注意-g问题,结果还是在这个-g上栽了沟,请初次使用者一定要注意这个问题! 总结一下进入gdb环境的基本步骤: 1. 首先使用gcc   -g    .c文件   -o  可执行文件名  进行编译,再使用

x64dbg: 用于Windows的开源二进制调试器

x64dbg是Windows的开源二进制调试器,专为恶意软件分析和可执行文件的逆向工程而设计,无需访问源代码。 它提供了广泛的功能和插件系统,允许您定制和扩展其功能以满足您的需求。   人们喜欢x64dbg的原因可能是它有一个UI,可以轻松地跳转并自动显示过程中发生的事情的上下文。 您可以跟随指针,并且UI显示可能的字符串,标签等的动态注释。 特点: 类似C的表达式解析器D

常见调试器介绍

目录 常见调试器 1.1 ST-Link 1.2 DAPLink 1.3 JLink 常见调试器 市面上有很多的调试器,下面是大家比较常见的一些调试器, 比如:ST-Link、DAPLink、JLink、Ulink等 1.1 ST-Link ST-Link是一种用于STM8及STM32系列单片机的调试器和下载器。(图片中也有标出来STM8&STM32。) 下面给大家

调试器接口是什么?

目录 一、调试器接口 1.1 什么是下载调试器? 1.2 JTAG标准/协议 1.3 SWD标准 一、调试器接口 1.1 什么是下载调试器? 简单来讲,它就是一种能把PC端发送的命令(通过USB协议)转换为MCU能理解的语言(SWD协议或JTAG协议)的设备。 在规定了大家一致认可的协议标准前,各大厂商都有自己的一套协议。你购买不同制造厂商的不同芯片、都

2.什么是计算机程序

什么是计算机程序? 计算机程序是为了告诉计算机"做某件事或解决某个问题"而用"计算机语言编写的命令集合(语句) 只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工作,计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成 现实生活中你如何告诉别人如何做某件事或者解决某个问题? 通过人能听懂的语言: 张三你去楼下帮我买一包烟, 然后顺便到快递箱把我的快递也带上来其实我们通

Eclipse  调试器和Debug 视图

Eclipse  调试器和 Debug 视图 Eclipse SDK  是针对 Java ™ 开发工具(Java Development Tools ™ ,JDT)的 项目,它具有一个内置的 Java 调试器,可以提供所有标准的调试功能,包括 分步执行、设置断点和值、检查变量和值、挂起和恢复线程的功能。除此之外, 还可以调试远程机器上运行的应用程 序。Eclipse 平台很健壮,因为其他编