按调试目标的系统环境分:windows下的调试、Linux下的调试、DOS下的调试
按目标代码的执行方式分:本地调试、托管调试、混合调试、脚本调试
脚本程序是由专门的解释程序解释执行的,不需要产生目标代码,与编译执行的程序有很多不同。对于编译执行的程序又分为两类:一类是先编译为中间代码,在运行时再动态编译为当前CPU能够执行的目标代码(用于托管调试)。另一类是直接编译和链接成目标代码的程序(用于本地调试)。
按目标代码的执行模式分:低权限级的用户模式(User mode)和高特权级的内核模式(kernel mode)
按软件所处的阶段分:开发期调试和产品期调试
按调试器与调试目标的相对位置分:本机调试(Local Debugging 被调试程序与调试器在同一个计算机系统中),远程调试(Remote Debugging 调试器与被调试程序在不同的计算机系统中,它们通过以太网络或某一种电缆进行通讯)
按目标的活动性分:活动目标调试(Live Target Debugging)和转储文件调试(Dump File Debugging)