调试工具

✍ dations ◷ 2025-11-23 09:10:55 #除错器

调试工具(英语: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设计里,使得调试更加容易:

相关

  • 海卫一海卫一是环绕海王星运行的卫星中最大的一颗,它也是太阳系中最冷的天体之一,具有复杂的地质历史和一个相对来说比较年轻的表面。1846年10月10日威廉·拉塞尔(William Lassell)发
  • 国家实验室美国能源部国家实验室与技术中心是指在美国能源部监管之下的一系列研究设施和实验室系统,目的是促进科学的研究和技术的进步,进而推动完成美国能源部的使命。截至2017年,美国能
  • 适居太阳系外行星目录适居太阳系外行星目录是波多黎各大学的行星适居性实验室编制,这个列表是根据其方法及估算而使用地球相似指数(Earth Similarity Index)去为可能适居的太阳系外行星评定等级
  • 1600年前1700年至前1601年的这一段期间被称为前17世纪。
  • 叫鹤目叫鹤目(学名:Cariamiformes)是生物分类学上是鸟纲中的一个目,本目多含多种原始不会飞行的鸟类,最古老可以追朔到六千万年以前,其中包括叫鹤科与已绝种的骇鸟科。传统上被认为是鹤
  • 富兰克林 (马萨诸塞州)坐标:42°05′00″N 71°23′50″W / 42.08333°N 71.39722°W / 42.08333; -71.39722富兰克林(英语:Franklin)是美国马萨诸塞州诺福克县的一个城市,面积70.0平方公里。根据美国2
  • 恋爱与选举与巧克力《恋爱与选举与巧克力》(日语:恋と選挙とチョコレート,英语:Love, Election & Chocolate)是sprite公司制作并于2010年10月29日发售的恋爱冒险类型成人游戏,同时也是sprite创社后制
  • 我的妹妹是“大阪大妈”《我的妹妹是“大阪大妈”》(日语:僕の妹は「大阪おかん」),是日本BS朝日于2012年12月21日开始放送的日本深夜动画,共12集。动画原作是中经出版发行的介绍日本各地风俗的“规则系
  • 白乐日白乐日(法语:Etienne Balazs, 1905年1月24日-1963年11月29日),是一位匈牙利出生的法国汉学家。1905年出生在奥匈帝国布达佩斯。1923年前往德国柏林学习汉学,由柏林洪堡大学汉学家
  • 圣路易斯大屠杀圣路易斯大屠杀(St. Louis massacre)于1861年5月10日发生在密苏里州圣路易斯 (密苏里州)。密苏里州政府一直忠心于联邦, 但有部分人民反对。而圣路易斯兵工厂内藏大批军火,