Debugging information is stored in symbol files, which are created along with binaries in debug builds. These files are built into /some-epoc-root/epoc32/release/armi/udeb/
, and have the extension .sym
.
GDB has the concept of main and secondary symbol files. The main symbol file is associated with the main program DLL or EXE being tested. Secondary symbol files are those which are associated with DLLs which are used or loaded by the main program file.
Information about the commands used to load main and secondary symbol files (symbol file and epoc-add-dll-symbol-file) is given in the Symbian specific GDB command reference.
The main symbol file must be loaded using the symbol file command prior to starting debugging. Typically this is done from the GDB initialisation file gdb.ini
.
For example, to load the symbol file foobar.sym
(where some-epoc-root
is the root where the SDK was installed), insert the following line into the initialisation file.
symbol-file //some-epoc-root/epoc32/release/armi/udeb/foobar.sym
Secondary symbol files may be loaded using the epoc-add-dll-symbol-file command from the GUI console or command line interface. They may also be loaded in the GDB inititialisation file, but only after the main symbol file has been added.
The command assumes that the secondary symbol file is located in the same directory as the main symbol file (set using the symbol command), and also that it has the extension .sym
. Hence the path and extension need not be specified.
For example, to load the symbol file \some-epoc-root\epoc32\release\armi\udeb\foo.sym
use the command:
epoc-add-dll-symbol-file foo