mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 17:18:24 +08:00
2010-02-24 Phil Muldoon <pmuldoon@redhat.com>
Tom Tromey <tromey@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> * python/python.c (_initialize_python): Call gdbpy_initialize_symtabs, gdbpy_initialize_symbols and gdbpy_initialize_blocks. * python/python-internal.h: Declare struct symbol, block and symtab_and_line. Declare block_object_type and symbol_object_type (gdbpy_lookup_symbol gdbpy_block_for_pc) (symtab_and_line_to_sal_object, symtab_to_symtab_object) (symbol_to_symbol_object, block_to_block_object) (gdbpy_initialize_symtabs,gdbpy_initialize_symbols) (gdbpy_initialize_blocks ): Declare. * python/py-frame.c (frapy_block, frapy_function, frapy_find_sal) (frapy_select): Add methods. (frapy_read_var): Add symbol branch. * Makefile.in (SUBDIR_PYTHON_OBS): Add py-symbol, py-symtab, py-block. (SUBDIR_PYTHON_SRCS): Likewise. (py-symbol.o): New rule. (py-symtab.o): Likewise. (py-block.o): Likewise. * python/py-symbol.c: New file. * python/py-symtab.c: Likewise. * python/py-block.c: Likewise. 2010-02-24 Phil Muldoon <pmuldoon@redhat.com> * Makefile.in: Add py-block and py-symbol. * gdb.python/py-symbol.exp: New File. * gdb.python/py-symtab.exp: New File. * gdb.python/py-block.exp: New File. * gdb.python/py-symbol.c: New File. * gdb.python/py-block.c: New File. 2010-02-24 Phil Muldoon <pmuldoon@redhat.com> * gdb.texinfo (Frames In Python): Add block, find_sal, function and select method descriptions. (Python API): Add Blocks In Python, Symbols in Python and Symbol Tables in Python to menu. (Blocks In Python): New node. (Symbols In Python): New node. (Symbol Tables in Python): New node.
This commit is contained in:
62
gdb/testsuite/gdb.python/py-symbol.c
Normal file
62
gdb/testsuite/gdb.python/py-symbol.c
Normal file
@ -0,0 +1,62 @@
|
||||
/* This testcase is part of GDB, the GNU debugger.
|
||||
|
||||
Copyright 2010 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
class SimpleClass
|
||||
{
|
||||
private:
|
||||
int i;
|
||||
|
||||
public:
|
||||
void seti (int arg)
|
||||
{
|
||||
i = arg;
|
||||
}
|
||||
|
||||
int valueofi (void)
|
||||
{
|
||||
return i; /* Break in class. */
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
int func (int arg)
|
||||
{
|
||||
int i = 2;
|
||||
i = i * arg;
|
||||
return arg; /* Block break here. */
|
||||
}
|
||||
|
||||
int main (int argc, char *argv[])
|
||||
{
|
||||
#ifdef __cplusplus
|
||||
SimpleClass sclass;
|
||||
#endif
|
||||
int a = 0;
|
||||
int result;
|
||||
enum tag {one, two, three};
|
||||
enum tag t = one;
|
||||
|
||||
result = func (42);
|
||||
|
||||
#ifdef __cplusplus
|
||||
sclass.seti (42);
|
||||
sclass.valueofi ();
|
||||
#endif
|
||||
return 0; /* Break at end. */
|
||||
}
|
Reference in New Issue
Block a user