To have gdb set the working language automatically, use ‘set
language local’ or ‘set language auto’. gdb then infers the
working language. That is, when your program stops in a frame
(usually by encountering a breakpoint), gdb sets the working
language to the language recorded for the function in that
frame. If the language for a frame is unknown (that is, if the
function or block corresponding to the frame was defined in a
source file that does not have a recognized extension), the
current working language is not changed, and gdb issues a
warning. This may not seem necessary for most programs, which
are written entirely in one source language. However, program
modules and libraries written in one source language can be used
by a main program written in a different source language. Using
‘set language auto’ in this case frees you from having to set
the working language manually.