Re: What are the procedures to use self declared convenience functions in GDB?

Christian Biesinger via Gdb
2020-11-19T10:39:50Z

On Thu, Nov 19, 2020 at 9:34 AM Nagmat Nazar via Gdb <gdb@sourceware.org> wrote:
>
> Dear Mr. Baris,
>
> Thanks for your response, I have added it to Makefile.in as you told me,
> but it is not functioning. How can I check If it was loaded or not?

Did you verify that it gets installed with the other python files? And
you are using "import greet" when using it?

Christian

>
> Kind regards,
> Nagmat
>
> On Thu, Nov 19, 2020 at 4:48 PM Aktemur, Tankut Baris <
> tankut.baris.aktemur@intel.com> wrote:
>
> > On Wednesday, November 18, 2020 9:39 PM, Simon Marchi wrote:
> > > On 2020-11-18 12:18 a.m., Nagmat Nazar wrote:
> > > > Dear Simon,
> > > >
> > > > I have written convenience function as on explanation:
> > > > https://sourceware.org/gdb/onlinedocs/gdb/Functions-In-Python.html
> > > > greet.py
> > > > ```
> > > >
> > > > class Greet (gdb.Function):
> > > > """Return string to greet someone.
> > > > Takes a name as argument."""
> > > >
> > > > def __init__ (self):
> > > > super (Greet, self).__init__ ("greet")
> > > >
> > > > def invoke (self, name):
> > > > return "Hello, %s!" % name.string ()
> > > >
> > > > Greet ()
> > > >
> > > > ```
> > > > image.png
> > > >
> > > > I have placed greet.py into ~/gdb/python/lib/gdb/function/, but as you
> > see on the picture
> > > it still gives error. What else shall I do in order to use this function?
> > > >
> > > > Kind regards
> > > > Nagmat
> > >
> > > Just putting the file in ~/gdb/python/lib/gdb/function/ won't magically
> > load it.
> > >
> > > You should either use the source command inside GDB (or in a .gdbinit)
> > or the -x switch when
> > > starting GDB.
> > >
> > > Simon
> >
> > If you list the file name in gdb/data-directory/Makefile.in's
> > PYTHON_FILE_LIST, I believe
> > it's loaded automatically at GDB startup time.
> >
> > -Baris
> >
> >
> > Intel Deutschland GmbH
> > Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
> > Tel: +49 89 99 8853-0, www.intel.de
> > Managing Directors: Christin Eisenschmid, Gary Kershaw
> > Chairperson of the Supervisory Board: Nicole Lau
> > Registered Office: Munich
> > Commercial Register: Amtsgericht Muenchen HRB 186928
> >