Go to the previous, next section.

Having GDB infer the source language

To have GDB set the working language automatically, use `set language local' or `set language auto'. GDB then infers the language that a program was written in by looking at the name of its source files, and examining their extensions:

`*.mod'
Modula-2 source file

`*.c'
C source file

`*.C'
`*.cc'
C++ source file

This information is recorded for each function or procedure in a source file. 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.

Go to the previous, next section.