调试工具

✍ dations ◷ 2025-05-20 06:23:31 #除错器

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

相关

  • Li1s2 2s12, 1蒸气压第一:520.2 kJ·mol−1 第二:7298.1 kJ·mol−1 第三:11815.0 kJ·mol主条目:锂的同位素锂(希腊语:λίθος,拉丁:LITHOS,直译"石头")是一种化学元素。其中文
  • ICCU意大利图书馆与书目联合目录中央研究所(意大利语:Istituto centrale per il catalogo unico delle biblioteche italiane e per le informazioni bibliografiche)是一个意大利
  • 卫星照片卫星影像,又称卫星图(Satellite imagery)、卫星地图、卫星图像,是指搭载在人造卫星上的摄影设备拍摄的地球或其它星球的地图式照片。在战争导航,地理行业有较广泛的应用。其中Goo
  • 玄叶光一郎玄叶光一郎(1964年5月20日-),日本政治家,民进党所属的众议院议员(当选8期),前任外务大臣(第146代),前内阁府特命担当大臣(“新公共管理”、科学技术政策、少子化对策、男女共同参划)、民
  • 山东巡抚山东巡抚,明清时代山东军政官员。明朝全称巡抚山东等处地方督理营田兼管河道提督军务。正统五年始设巡抚。正统十三年定遣都御史。嘉靖四十二年加督理营田。万历七年兼管河道
  • 范文程范文程(1597年-1666年),字宪斗,清朝开国重臣。其先世于明初自江西贬往沈阳,“居抚顺所”。万历时中秀才。努尔哈赤攻占抚顺,范文程主动投靠。历事满洲四代君主,清朝开国时的规制大多
  • 加拿大大西洋省份加拿大大西洋省份(英语:Atlantic Provinces或Atlantic Canada,法语:provinces de l'Atlantique)是指加拿大在大西洋海岸的四个省:新斯科舍、新不伦瑞克、爱德华王子岛和纽芬兰与拉
  • 格林尼治标准时间+8 ) 刷新格林尼治平均时间(英语:Greenwich Mean Time,GMT)是指位于英国伦敦郊区的皇家格林尼治天文台当地的平太阳时,因为本初子午线被定义为通过那里的经线。自1924年2月5日开
  • 林大涵林大涵(1987年5月12日-),台湾创业者,国立政治大学民族学系、台湾大学图书资讯学系肄业,现为贝壳放大股份有限公司首席执行官,主要从事群众集资相关业务。林大涵的父亲为台北市立松
  • 榎本喜八榎本 喜八(Enomoto Kihachi, 1936年(昭和11年)12月5日 - 2012年(平成24年)3月14日)为日本的棒球选手,出生于东京都中野区上鹭宫。他曾效力于日本职棒罗德猎户星队等,1972年退休,生涯