Next: GDB/MI File Commands, Previous: GDB/MI Tracepoint Commands, Up: GDB/MI [Contents][Index]
-symbol-info-functions
Command-symbol-info-functions [--include-nondebug] [--type type_regexp] [--name name_regexp] [--max-results limit]
Return a list containing the names and types for all global functions taken from the debug information. The functions are grouped by source file, and shown with the line number on which each function is defined.
The --include-nondebug
option causes the output to include
code symbols from the symbol table.
The options --type
and --name
allow the symbols returned
to be filtered based on either the name of the function, or the type
signature of the function.
The option --max-results
restricts the command to return no
more than limit results. If exactly limit results are
returned then there might be additional results available if a higher
limit is used.
The corresponding GDB command is ‘info functions’.
(gdb) -symbol-info-functions ^done,symbols= {debug= [{filename="/project/gdb/testsuite/gdb.mi/mi-sym-info-1.c", fullname="/project/gdb/testsuite/gdb.mi/mi-sym-info-1.c", symbols=[{line="36", name="f4", type="void (int *)", description="void f4(int *);"}, {line="42", name="main", type="int ()", description="int main();"}, {line="30", name="f1", type="my_int_t (int, int)", description="static my_int_t f1(int, int);"}]}, {filename="/project/gdb/testsuite/gdb.mi/mi-sym-info-2.c", fullname="/project/gdb/testsuite/gdb.mi/mi-sym-info-2.c", symbols=[{line="33", name="f2", type="float (another_float_t)", description="float f2(another_float_t);"}, {line="39", name="f3", type="int (another_int_t)", description="int f3(another_int_t);"}, {line="27", name="f1", type="another_float_t (int)", description="static another_float_t f1(int);"}]}]}
(gdb) -symbol-info-functions --name f1 ^done,symbols= {debug= [{filename="/project/gdb/testsuite/gdb.mi/mi-sym-info-1.c", fullname="/project/gdb/testsuite/gdb.mi/mi-sym-info-1.c", symbols=[{line="30", name="f1", type="my_int_t (int, int)", description="static my_int_t f1(int, int);"}]}, {filename="/project/gdb/testsuite/gdb.mi/mi-sym-info-2.c", fullname="/project/gdb/testsuite/gdb.mi/mi-sym-info-2.c", symbols=[{line="27", name="f1", type="another_float_t (int)", description="static another_float_t f1(int);"}]}]}
(gdb) -symbol-info-functions --type void ^done,symbols= {debug= [{filename="/project/gdb/testsuite/gdb.mi/mi-sym-info-1.c", fullname="/project/gdb/testsuite/gdb.mi/mi-sym-info-1.c", symbols=[{line="36", name="f4", type="void (int *)", description="void f4(int *);"}]}]}
(gdb) -symbol-info-functions --include-nondebug ^done,symbols= {debug= [{filename="/project/gdb/testsuite/gdb.mi/mi-sym-info-1.c", fullname="/project/gdb/testsuite/gdb.mi/mi-sym-info-1.c", symbols=[{line="36", name="f4", type="void (int *)", description="void f4(int *);"}, {line="42", name="main", type="int ()", description="int main();"}, {line="30", name="f1", type="my_int_t (int, int)", description="static my_int_t f1(int, int);"}]}, {filename="/project/gdb/testsuite/gdb.mi/mi-sym-info-2.c", fullname="/project/gdb/testsuite/gdb.mi/mi-sym-info-2.c", symbols=[{line="33", name="f2", type="float (another_float_t)", description="float f2(another_float_t);"}, {line="39", name="f3", type="int (another_int_t)", description="int f3(another_int_t);"}, {line="27", name="f1", type="another_float_t (int)", description="static another_float_t f1(int);"}]}], nondebug= [{address="0x0000000000400398",name="_init"}, {address="0x00000000004003b0",name="_start"}, ... ]}
-symbol-info-module-functions
Command-symbol-info-module-functions [--module module_regexp] [--name name_regexp] [--type type_regexp]
Return a list containing the names of all known functions within all know Fortran modules. The functions are grouped by source file and containing module, and shown with the line number on which each function is defined.
The option --module
only returns results for modules matching
module_regexp. The option --name
only returns functions
whose name matches name_regexp, and --type
only returns
functions whose type matches type_regexp.
The corresponding GDB command is ‘info module functions’.
(gdb) -symbol-info-module-functions ^done,symbols= [{module="mod1", files=[{filename="/project/gdb/testsuite/gdb.mi/mi-fortran-modules-2.f90", fullname="/project/gdb/testsuite/gdb.mi/mi-fortran-modules-2.f90", symbols=[{line="21",name="mod1::check_all",type="void (void)", description="void mod1::check_all(void);"}]}]}, {module="mod2", files=[{filename="/project/gdb/testsuite/gdb.mi/mi-fortran-modules-2.f90", fullname="/project/gdb/testsuite/gdb.mi/mi-fortran-modules-2.f90", symbols=[{line="30",name="mod2::check_var_i",type="void (void)", description="void mod2::check_var_i(void);"}]}]}, {module="mod3", files=[{filename="/projec/gdb/testsuite/gdb.mi/mi-fortran-modules.f90", fullname="/projec/gdb/testsuite/gdb.mi/mi-fortran-modules.f90", symbols=[{line="21",name="mod3::check_all",type="void (void)", description="void mod3::check_all(void);"}, {line="27",name="mod3::check_mod2",type="void (void)", description="void mod3::check_mod2(void);"}]}]}, {module="modmany", files=[{filename="/project/gdb/testsuite/gdb.mi/mi-fortran-modules.f90", fullname="/project/gdb/testsuite/gdb.mi/mi-fortran-modules.f90", symbols=[{line="35",name="modmany::check_some",type="void (void)", description="void modmany::check_some(void);"}]}]}, {module="moduse", files=[{filename="/project/gdb/testsuite/gdb.mi/mi-fortran-modules.f90", fullname="/project/gdb/testsuite/gdb.mi/mi-fortran-modules.f90", symbols=[{line="44",name="moduse::check_all",type="void (void)", description="void moduse::check_all(void);"}, {line="49",name="moduse::check_var_x",type="void (void)", description="void moduse::check_var_x(void);"}]}]}]
-symbol-info-module-variables
Command-symbol-info-module-variables [--module module_regexp] [--name name_regexp] [--type type_regexp]
Return a list containing the names of all known variables within all know Fortran modules. The variables are grouped by source file and containing module, and shown with the line number on which each variable is defined.
The option --module
only returns results for modules matching
module_regexp. The option --name
only returns variables
whose name matches name_regexp, and --type
only returns
variables whose type matches type_regexp.
The corresponding GDB command is ‘info module variables’.
(gdb) -symbol-info-module-variables ^done,symbols= [{module="mod1", files=[{filename="/project/gdb/testsuite/gdb.mi/mi-fortran-modules-2.f90", fullname="/project/gdb/testsuite/gdb.mi/mi-fortran-modules-2.f90", symbols=[{line="18",name="mod1::var_const",type="integer(kind=4)", description="integer(kind=4) mod1::var_const;"}, {line="17",name="mod1::var_i",type="integer(kind=4)", description="integer(kind=4) mod1::var_i;"}]}]}, {module="mod2", files=[{filename="/project/gdb/testsuite/gdb.mi/mi-fortran-modules-2.f90", fullname="/project/gdb/testsuite/gdb.mi/mi-fortran-modules-2.f90", symbols=[{line="28",name="mod2::var_i",type="integer(kind=4)", description="integer(kind=4) mod2::var_i;"}]}]}, {module="mod3", files=[{filename="/project/gdb/testsuite/gdb.mi/mi-fortran-modules.f90", fullname="/project/gdb/testsuite/gdb.mi/mi-fortran-modules.f90", symbols=[{line="18",name="mod3::mod1",type="integer(kind=4)", description="integer(kind=4) mod3::mod1;"}, {line="17",name="mod3::mod2",type="integer(kind=4)", description="integer(kind=4) mod3::mod2;"}, {line="19",name="mod3::var_i",type="integer(kind=4)", description="integer(kind=4) mod3::var_i;"}]}]}, {module="modmany", files=[{filename="/project/gdb/testsuite/gdb.mi/mi-fortran-modules.f90", fullname="/project/gdb/testsuite/gdb.mi/mi-fortran-modules.f90", symbols=[{line="33",name="modmany::var_a",type="integer(kind=4)", description="integer(kind=4) modmany::var_a;"}, {line="33",name="modmany::var_b",type="integer(kind=4)", description="integer(kind=4) modmany::var_b;"}, {line="33",name="modmany::var_c",type="integer(kind=4)", description="integer(kind=4) modmany::var_c;"}, {line="33",name="modmany::var_i",type="integer(kind=4)", description="integer(kind=4) modmany::var_i;"}]}]}, {module="moduse", files=[{filename="/project/gdb/testsuite/gdb.mi/mi-fortran-modules.f90", fullname="/project/gdb/testsuite/gdb.mi/mi-fortran-modules.f90", symbols=[{line="42",name="moduse::var_x",type="integer(kind=4)", description="integer(kind=4) moduse::var_x;"}, {line="42",name="moduse::var_y",type="integer(kind=4)", description="integer(kind=4) moduse::var_y;"}]}]}]
-symbol-info-modules
Command-symbol-info-modules [--name name_regexp] [--max-results limit]
Return a list containing the names of all known Fortran modules. The modules are grouped by source file, and shown with the line number on which each modules is defined.
The option --name
allows the modules returned to be filtered
based the name of the module.
The option --max-results
restricts the command to return no
more than limit results. If exactly limit results are
returned then there might be additional results available if a higher
limit is used.
The corresponding GDB command is ‘info modules’.
(gdb) -symbol-info-modules ^done,symbols= {debug= [{filename="/project/gdb/testsuite/gdb.mi/mi-fortran-modules-2.f90", fullname="/project/gdb/testsuite/gdb.mi/mi-fortran-modules-2.f90", symbols=[{line="16",name="mod1"}, {line="22",name="mod2"}]}, {filename="/project/gdb/testsuite/gdb.mi/mi-fortran-modules.f90", fullname="/project/gdb/testsuite/gdb.mi/mi-fortran-modules.f90", symbols=[{line="16",name="mod3"}, {line="22",name="modmany"}, {line="26",name="moduse"}]}]}
(gdb) -symbol-info-modules --name mod[123] ^done,symbols= {debug= [{filename="/project/gdb/testsuite/gdb.mi/mi-fortran-modules-2.f90", fullname="/project/gdb/testsuite/gdb.mi/mi-fortran-modules-2.f90", symbols=[{line="16",name="mod1"}, {line="22",name="mod2"}]}, {filename="/project/gdb/testsuite/gdb.mi/mi-fortran-modules.f90", fullname="/project/gdb/testsuite/gdb.mi/mi-fortran-modules.f90", symbols=[{line="16",name="mod3"}]}]}
-symbol-info-types
Command-symbol-info-types [--name name_regexp] [--max-results limit]
Return a list of all defined types. The types are grouped by source
file, and shown with the line number on which each user defined type
is defined. Some base types are not defined in the source code but
are added to the debug information by the compiler, for example
int
, float
, etc.; these types do not have an associated
line number.
The option --name
allows the list of types returned to be
filtered by name.
The option --max-results
restricts the command to return no
more than limit results. If exactly limit results are
returned then there might be additional results available if a higher
limit is used.
The corresponding GDB command is ‘info types’.
(gdb) -symbol-info-types ^done,symbols= {debug= [{filename="gdb.mi/mi-sym-info-1.c", fullname="/project/gdb/testsuite/gdb.mi/mi-sym-info-1.c", symbols=[{name="float"}, {name="int"}, {line="27",name="typedef int my_int_t;"}]}, {filename="gdb.mi/mi-sym-info-2.c", fullname="/project/gdb.mi/mi-sym-info-2.c", symbols=[{line="24",name="typedef float another_float_t;"}, {line="23",name="typedef int another_int_t;"}, {name="float"}, {name="int"}]}]}
(gdb) -symbol-info-types --name _int_ ^done,symbols= {debug= [{filename="gdb.mi/mi-sym-info-1.c", fullname="/project/gdb/testsuite/gdb.mi/mi-sym-info-1.c", symbols=[{line="27",name="typedef int my_int_t;"}]}, {filename="gdb.mi/mi-sym-info-2.c", fullname="/project/gdb.mi/mi-sym-info-2.c", symbols=[{line="23",name="typedef int another_int_t;"}]}]}
-symbol-info-variables
Command-symbol-info-variables [--include-nondebug] [--type type_regexp] [--name name_regexp] [--max-results limit]
Return a list containing the names and types for all global variables taken from the debug information. The variables are grouped by source file, and shown with the line number on which each variable is defined.
The --include-nondebug
option causes the output to include
data symbols from the symbol table.
The options --type
and --name
allow the symbols returned
to be filtered based on either the name of the variable, or the type
of the variable.
The option --max-results
restricts the command to return no
more than limit results. If exactly limit results are
returned then there might be additional results available if a higher
limit is used.
The corresponding GDB command is ‘info variables’.
(gdb) -symbol-info-variables ^done,symbols= {debug= [{filename="/project/gdb/testsuite/gdb.mi/mi-sym-info-1.c", fullname="/project/gdb/testsuite/gdb.mi/mi-sym-info-1.c", symbols=[{line="25",name="global_f1",type="float", description="static float global_f1;"}, {line="24",name="global_i1",type="int", description="static int global_i1;"}]}, {filename="/project/gdb/testsuite/gdb.mi/mi-sym-info-2.c", fullname="/project/gdb/testsuite/gdb.mi/mi-sym-info-2.c", symbols=[{line="21",name="global_f2",type="int", description="int global_f2;"}, {line="20",name="global_i2",type="int", description="int global_i2;"}, {line="19",name="global_f1",type="float", description="static float global_f1;"}, {line="18",name="global_i1",type="int", description="static int global_i1;"}]}]}
(gdb) -symbol-info-variables --name f1 ^done,symbols= {debug= [{filename="/project/gdb/testsuite/gdb.mi/mi-sym-info-1.c", fullname="/project/gdb/testsuite/gdb.mi/mi-sym-info-1.c", symbols=[{line="25",name="global_f1",type="float", description="static float global_f1;"}]}, {filename="/project/gdb/testsuite/gdb.mi/mi-sym-info-2.c", fullname="/project/gdb/testsuite/gdb.mi/mi-sym-info-2.c", symbols=[{line="19",name="global_f1",type="float", description="static float global_f1;"}]}]}
(gdb) -symbol-info-variables --type float ^done,symbols= {debug= [{filename="/project/gdb/testsuite/gdb.mi/mi-sym-info-1.c", fullname="/project/gdb/testsuite/gdb.mi/mi-sym-info-1.c", symbols=[{line="25",name="global_f1",type="float", description="static float global_f1;"}]}, {filename="/project/gdb/testsuite/gdb.mi/mi-sym-info-2.c", fullname="/project/gdb/testsuite/gdb.mi/mi-sym-info-2.c", symbols=[{line="19",name="global_f1",type="float", description="static float global_f1;"}]}]}
(gdb) -symbol-info-variables --include-nondebug ^done,symbols= {debug= [{filename="/project/gdb/testsuite/gdb.mi/mi-sym-info-1.c", fullname="/project/gdb/testsuite/gdb.mi/mi-sym-info-1.c", symbols=[{line="25",name="global_f1",type="float", description="static float global_f1;"}, {line="24",name="global_i1",type="int", description="static int global_i1;"}]}, {filename="/project/gdb/testsuite/gdb.mi/mi-sym-info-2.c", fullname="/project/gdb/testsuite/gdb.mi/mi-sym-info-2.c", symbols=[{line="21",name="global_f2",type="int", description="int global_f2;"}, {line="20",name="global_i2",type="int", description="int global_i2;"}, {line="19",name="global_f1",type="float", description="static float global_f1;"}, {line="18",name="global_i1",type="int", description="static int global_i1;"}]}], nondebug= [{address="0x00000000004005d0",name="_IO_stdin_used"}, {address="0x00000000004005d8",name="__dso_handle"} ... ]}
-symbol-list-lines
Command-symbol-list-lines filename
Print the list of lines that contain code and their associated program addresses for the given source filename. The entries are sorted in ascending PC order.
There is no corresponding GDB command.
(gdb) -symbol-list-lines basics.c ^done,lines=[{pc="0x08048554",line="7"},{pc="0x0804855a",line="8"}] (gdb)
Next: GDB/MI File Commands, Previous: GDB/MI Tracepoint Commands, Up: GDB/MI [Contents][Index]