What is a symbols file?
File containing a table of the identifiers information relating to its declaration and location.
Compiling with or without debugging information for GDB
#gcc -o example_debug -ggdb example.c
#gcc -o example_nodebug example.c
Listing symbols from object file
# nm example_debug
Three columns: Virtual_address | Symbol_type | Symbol_name
Lowercase symbols types are local and uppercase are global (external).
Copying debug symbols to an external file
# objcopy --only-keep-debug example_debug example.dbg
Striping debug symbols added with -ggdb
# objcopy --strip-debug example_debug
Striping all symbols information unneeded
# objcopy --strip-debug --strip-unneeded example_debug
Adding debug symbols to a binary
#gdb example_nodebug
(gdb)symbol-file example.dbg
or
#objcopy --add-gnu-debuglink=example.dbg example_nodebug
#gdb example_nodebug
Debugging a core file
#gdb example corefile
(gdb)symbol-file example.dbg
(gdb)bt
No comments:
Post a Comment