调试工具

✍ dations ◷ 2025-04-04 07:39:43 #除错器

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

相关

  • 复活节岛复活节岛(西班牙语:Isla de Pascua、拉帕努伊语:Rapa Nui),另有依照英语音译为伊斯特岛(Easter Island),是南太平洋中的一个岛屿,位于智利以西外海约3600到3700千米处,坐标为27°09′S
  • 伊朗伊斯兰共和国中央银行伊朗伊斯兰共和国中央银行(波斯语:بانک مرکزی جمهوری اسلامی ايران‎, Bank Markazi Jomhouri Islami Iran)作为伊朗的中央银行,负责发行伊朗货币
  • 奎文区奎文区是山东省潍坊市下辖的一个市辖区。下辖9个街道:
  • 2018年1月逝世人物列表2018年1月逝世人物列表,是用于汇总2018年1月期间逝世人物的列表。
  • 王乐妍我的老师叫小贺 女兵日记之女力报到(2018年)王乐妍(Chloe Wang,1986年7月8日-),台湾女艺人,本名王心如,2013年5月19日将艺名改为王乐妍。
  • 倒角倒角(英语:Chamfering)是使具有较锐利棱角或边缘之物件的棱角变得和缓的工艺,较常见的作法是将一个直角棱加工成一个45度角的面。倒角常被用于机械加工、大木作、家具、建筑模板
  • decltype在C++程序设计语言中,decltype作为操作符(英语:Operator (programming)),用于获取表达式的数据类型。C++11标准引入decltype,主要是为泛型编程而设计,以解决泛型编程中有些类型由模
  • 近卫忠熙近卫忠熙(1808年9月4日-1898年3月18日/文化五年七月十四-明治三十一年三月十八日),号翠山,是江户时代末期(幕末)的公卿、公武合体派代表,也是藤原北家五摄关家的笔头近卫家当主。近卫
  • 鄣国鄣国,中国历史上春秋时代的一个诸侯国,国君为姜姓,国都在今山东省东平县鄣城村,建国君主是齐太公支孙,后来被纪国收为附庸。据郑樵《通志》称,国家被齐所灭。 鲁国 · 曹国 ·
  • 邸村镇邸村镇,是中华人民共和国河北省保定市曲阳县下辖的一个乡镇级行政单位。2016年8月22日,河北省民政厅批复同意撤销邸村乡,设立邸村镇,镇人民政府驻东邸村阳光北街11号。邸村镇下