调试工具

房地产作者 / 世界之声 / 2025-07-25 19:41
"
  软件开发  核心行动  过程  需求  设计  工程  构造  测试  调试  部署  维护  范式与模式  原型设

  软件开发

  核心行动

  过程

  需求

  设计

  工程

  构造

  测试

  调试

  部署

  维护

  范式与模式

  原型设计

  净室

  增量建模

  瀑布模型

  敏捷软件开发

  螺旋模型

  方法论与框架

  快速应用程序开发

  DevOps

  极限编程

  团队软件流程

  个人软件程序

  动态系统开发方法

  MSF

  Scrum

  看板

  V模型

  FDD

  MDD

  迭代式开发

  精实开发

  统一流程

  支持行为

  配置管理

  文档

  质量保证

  项目管理

  用户体验

  实践

  ATDD

  行为驱动开发

  持续集成

  持续交付

  领域驱动设计

  结对编程

  站会

  测试驱动开发

  工具

  编译器

  调试器

  性能分析

  GUI设计器

  建模

  集成开发环境

  组建自动化

  发布自动化

  测试

  标准与知识体系

  能力成熟度模型集成

  IEEE标准

  ISO 9001

  ISO/IEC标准

  SWEBOK

  项目管理知识体系

  BABOK

  查论编

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

  硬件支持单步执行(single-steping)程序,以及设置旗标(flag)。

  利用Popek and Goldberg virtualization requirements指令组使它更加容易去设计调试软件,让调试软件能够在相同的CPU下执行时,有如使用纯软件调试一般。这样CPU就可能在测试程序时,以全速执行的状态下同时能够保持程序执行速度,并使得其仍然保持在调试器的控制之下。

  在系统编程允许一台外在硬件调试器,在测试时重新编辑一个程序系统,如增加或去除指示的中断点

  硬件支持资料中断点(breakpoint)的设置,譬如专门处理标签页错误的硬件的资料中断点的设置。

  设有JTAG

  Winpdb debugging itself.

  CA/EZTEST(Cics Interactive test/debug)

  CodeView

  DBG - A PHP Debugger and Profiler

  dbx

  DebugView

  DDD, Data Display Debugger

  DEBUG DOS Command

  DuxDebugger(页面存档备份,存于互联网档案馆)— Debugger Disassembler for Windows 64-bit

  Distributed Debugging Tool(DDT)

  Dynamic debugging technique (DDT), and its octal counterpart Octal Debugging Technique

  Eclipse

  TotalView

  GNU Debugger(GDB)

  Insight

  Interactive Disassembler(IDA Pro)

  Java Platform Debugger Architecture

  JSwat,开源Java调试工具

  Nemiver, Graphical C/C++ Debugger for the GNOME desktop environment

  MacsBug

  OLIVER (CICS interactive test/debug)

  OllyDbg

  PyDbg,开源Python调试工具

  IBM Rational Purify

  sdb

  SIMMON(Simulation Monitor)

  SIMON (Batch Interactive test/debug)

  SoftICE

  Turbo Debugger

  Ups - C, Fortran source level debugger

  WinDbg

  Valgrind

  VB Watch Debugger for Visual Basic 6.0

  x64dbg

  Visual Studio Debugger

  查看维基词典中的词条“debugger”。

  调试

  断点

  性能分析

  程序设计

  软件测试

  静态代码分析工具栏表

  内存调试

  核心转储

  程序错误

  测试覆盖率

分享到
声明:本文为用户投稿或编译自英文资料,不代表本站观点和立场,转载时请务必注明文章作者和来源,不尊重原创的行为将受到本站的追责;转载稿件或作者投稿可能会经编辑修改或者补充,有异议可投诉至本站。

热文导读