调试工具

✍ dations ◷ 2025-08-17 02:31:32 #除错器

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

相关

  • 天体光谱学天体光谱学是天文学使用的光谱学技术。研究天体的电磁辐射光谱,包括可见光,是来自恒星和其它天体的辐射。光谱学可以用来推导出远距离恒星和星系的许多性质,像是它们的化学组成
  • 沙鼠亚科见内文。沙鼠(学名:Gerbillinae)是一个包含约110个物种的亚科,生存于非洲、印度以及其他亚洲地区。以下分类群在中文里皆可能被称为“沙鼠”。
  • 东泽西省与西泽西省东泽西省(英语:East Jersey)是一个隶属于新泽西省之下的一个省。与西泽西合起来,两省之总和比今日之新泽西州略为大一点。于1674年至1702年之间,这种两省分治的方式延续了28年之
  • 凤冈县凤冈县位于中华人民共和国贵州省北部,是遵义市下属的一个县。面积1883平方公里,2006年人口为42万。邮政编码564200,县政府驻龙泉街道。元朝置大保龙泉长官司,治所今凤冈县。明朝
  • 过去时过去时(Past tense),也常称为过去式,是一种时态,用于说话时点之前所发生事件的语法意义。在英语中,过去时态是一个动词的词尾变化的形式之一。规则动词的过去式是由基本形式的动词
  • 何塞·加斯帕尔·罗德里格斯·德·弗朗西亚何塞·加斯帕尔·罗德里格斯·德·弗朗西亚·伊·维拉斯科(Dr. José Gaspar Rodríguez de Francia y Velasco,1766年1月6日-1840年9月20日),为巴拉圭独立运动领袖、独裁者及元
  • Toe (乐团)toe是一支2000年在日本东京成立的数学摇滚,后摇滚乐队。
  • 宇多田照实宇多田照实(日语:宇多田 照實/うただ てるざね ,1948年7月21日-)、日本音乐制作人。U3 Music执行董事。山口县出身。歌手宇多田光之父。前妻是演歌歌手藤圭子。1982年起与妻子藤
  • 刘源灏刘源灏(1796年-1865年),字鉴泉,顺天府永清县(今河北廊坊市永清县)人。清朝政治人物。刘源灏为道光三年(1823年)癸未科进士,选庶吉士,散馆授编修。道光十四年(1834年),充山西乡试正考官。次
  • 比利亚维西奥萨战役比利亚维西奥萨战役发生于1710年12月10日,是西班牙王位继承战争的一场战役,由法国旺多姆公爵和西班牙国王费利佩五世的法西联军对抗史塔罕堡伯爵的哈布斯堡同盟军。费利佩五世