调试工具

✍ dations ◷ 2024-10-18 22:25:35 #除错器

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

相关

  • 脏腑脏腑,是中医对内脏的总称,通称五脏六腑。根据《素问‧五脏别论篇》,“脏”指的是人体内的五脏,即:肝、心、脾、肺、肾(加上心包即为六脏),主要功能为生化和蓄存精气;以及六腑,即:胆、小
  • 腺和上皮肿瘤腺和上皮肿瘤(英语:Glandular and epithelial neoplasm),是一类病发于腺体和上皮组织的肿瘤。一类特征是腺瘤。
  • 英国工业革命英国工业革命或称作英国产业革命一般认为是18世纪发源于英格兰中部地区的工业革命。英国的工业革命影响了整个欧洲大陆,并带动了当时许多国家相继发生工业革命。严格来说,工业
  • 南越南越可以指:
  • 潮州裔台湾潮州人,是台湾的一个已经被文化灭绝的消失群体,指祖籍为清代潮州府地区,本属潮州民系移民来台的台湾汉人先祖(其所用的潮州话与闽南语泉漳话有祖缘关系)。台湾潮州人分散在台
  • 弗诺群岛弗诺群岛是澳大利亚的一个群岛,位于巴斯海峡东端,塔斯马尼亚岛东北方,包含52个岛屿。该群岛得名于英国航海家托拜厄斯·弗诺。该群岛最大岛屿为弗林德斯岛,其余较大的岛屿有巴伦
  • 南军美利坚联盟国(英语:the Confederate States of America,CSA),或称美利坚诸州同盟、美利坚邦联或迪克西(通俗说法),是自1861年至1865年由11个美国南方蓄奴州宣布从美利坚合众国分裂而
  • 奥克十字奥克十字(也称为欧西坦尼亚十字、朗格多克十字、图卢兹十字在纹章学中称为克莱希十字,指装饰剑柄圆球的空心十字)是一种十字纹章,现在主要作为奥克西塔尼亚的象征符号存在。 这
  • 狂犬病 (2019年电影)《狂犬病》(英语:,台湾译《尸控疗法》)是一部于2019年上映的加拿大科幻恐怖片,由索斯卡姊妹自编自导自演,其他主演包括劳拉·范德沃特、葛瑞格·布莱克、麦肯锡·格雷、汉内·琪塔
  • 成都市新都区升庵中学成都市新都区升庵中学得名于明代状元杨升庵,它成立于2002年。升庵中学校训“好学穷理,精思深索”提炼于杨升庵的名句“好学穷理,老而弥笃;思不厌精,索不厌深”。自2013年以来,升庵