调试工具

✍ dations ◷ 2024-12-23 01:40:38 #除错器

调试工具(英语:Debugger)亦称调试程序、调试器,指一种用于调试其它程序的计算机程序及工具。能够让代码在指令组模拟器(ISS)中可以检查运行状况以及选择性地运行,以便排错、调试。当开发的进度遇到瓶颈或找不出哪里有问题时,这技术将是非常有用的。但是将程序运行在调试器之下,这将比直接在运作的平台以及处理器上运行还要来得慢。

当程序死机时,如果调试器是属于来源阶段调试器(source-level debugger)或象征阶段调试器(symbolic debugger),调试器即可以显示出错误所在位置的源代码,并使其于集成开发环境里也能看见。要是属于低端调试器(low-level debugger)或机器语言调试器(machine-language debugger)的话,它将能显示的是一行一行的反汇编码(这里指的死机情况是指,当发生原因是因为程序员在设计上的疏失,使得程序无法继续正常运行的情况。例如程序尝试去调用某个对在该版本的CPU上而言是不合理的操作,或者是对保护或无法访问的存储器位置进行写入)。

典型的调试器通常能够在程序运行时拥有以下这些功能,例如单步运行(single-stepping)、利用中断点(breakpoint)使程序遇到各种种类的事件(event)时停止(breaking)(一般用于使程序停止在想要检查的状态)、以及追踪某些变量的变化。有些调试器也有能力在想要调试的程序在运行状态时,去改变它的状态,而不仅仅只是用来观察而己。

一个好的调试器存在的重要性不夸张。就算一个编程语言/平台在电脑的行程里运作非常良好。有无调试器以及调试器的好坏,对于一个编程语言及平台来说,经常是能不能正常运行的重要因素。总之,软件要能够(或经常)运行在不同的调试器下进行测试,是非常重要的。不过由于调试器出现将做对软件程序的内部时间的不可避免的变动。所以,即使是一个几近完美的调试器,在多任务环境或分布式系统下,它也会更难去测试到运行时(runtime)的问题。

一个调试器除了能够用来调试(debug),同样的,它也经常被用来作为破解软件的工具,像是用来跳过软件的防拷贝保护,还有破解序号验证,以及其它软件保护功能。

大部分的主流调试工程,譬如gdb和dbx提供基于主控台的命令提示接口(console-based command line)。调试器前端应用,现在普遍是提供给集成式开发工具(IDE)做为调试引撆、动态化、可视化等特点。

大部分现代微处理器它们都至少会拥有以下这些特点的其中一个包含在他们的CPU设计里,使得调试更加容易:

相关

  • 喹诺酮喹诺酮(英语:quinolone)是一类人工合成的含4-喹诺酮基本结构,对细菌DNA螺旋酶具有选择性抑制的抗菌剂。1962年最早的喹诺酮类药物萘啶酸首先用于临床,由于其抗菌谱窄、口服吸收差
  • 派地亚派地亚(英语:Paideia)古典希腊与希腊化文化的教育和训练体系,包括体操、语法、修辞、音乐、数学、地理、自然史与哲学等课程。在早期基督教时代,又称为人文学,成为基督教高等学府
  • 无人机无人机(英语:Uncrewed vehicle、Unmanned vehicle或Drone)又称无人载具,是一种无搭载人员的载具。通常使用遥控、导引或自动驾驶来控制。可在科学研究、场地探勘、军事、休闲娱
  • 根肿黑粉菌目根肿黑粉菌属 Entorrhiza Talbotiomyces根肿黑粉菌纲(学名:Entorrhizomycetes)是担子菌门黑粉菌亚门下的一个纲。该纲仅含一个目(根肿黑粉菌目,Entorrhizales),该目下也仅含一个科(
  • 盾片状盾片状(英语:Scutoid),是一种存在于上下两个平行表面之间的立体几何形状,其两平行表面(以及它们之间的所有其他平行面)的边各自围成多边形,此两表面之间至少存在一个顶点,且上下两个
  • 重播重播(英语:Re-run)是电视节目于首播后再次播出。重播未必可以增加收入,不过可以分摊固定成本,降低平均成本。重播可以让尚未看过节目和剧集的观众有机会收看,但收视率未必高。除非
  • 热力学第零定律热力学第零定律(英语:Zeroth Law of Thermodynamics),又称热平衡定律,是热力学的四条基本定律之一,是一个关于互相接触的物体于热平衡时的描述,并为温度提供了理论基础。最常用的定
  • 勒内·托姆勒内·托姆(René Thom,1923年9月2日-2002年10月25日,法语发音.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Uni
  • 周德鸿周德鸿(1884年-?年),字伯彬,四川省巴县人,东京高等工业学校机械科毕业,工科进士。
  • 声学模型声学模型(Acoustic model)是语音识别系统中最为重要的部分之一,目前的主流系统多采用隐马尔科夫模型进行建模。隐马尔可夫模型的概念是一个离散时域有限状态自动机,隐马尔可夫模