gdb支持多种命令解释器,并提供了一些命令基础设施,以便用户或用户界面开发者可以在解释器之间切换或在其他解释器中运行命令。
目前,gdb支持两种命令解释器,即控制台解释器(有时称为命令行解释器或CLI)和机器接口解释器(或gdb/mi)。本手册详细描述了这两种接口。
默认情况下,gdb将使用控制台解释器启动。然而,用户可以通过指定‘-i’或‘--interpreter’启动选项来选择使用其他解释器启动gdb。定义的解释器包括:
gdb所使用的解释器在运行时可能无法动态切换。虽然这在技术上是可能的,但可能会导致非常危险的情况。考虑一个使用gdb/mi的IDE。如果用户在控制台视图中输入命令“interpreter-set console”,gdb将切换到使用控制台解释器,这将使IDE无法操作!
虽然您在启动时只能选择一个解释器,但您可以通过当前解释器使用适当的命令在任何解释器中执行命令。如果您正在运行控制台解释器,只需使用interpreter-exec命令:
interpreter-exec mi "-data-list-register-names"
gdb/mi也有类似的命令,但它仅在支持gdb/mi版本2(或更高版本)的gdb中可用。