From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca (simark.ca [158.69.221.121]) by sourceware.org (Postfix) with ESMTPS id BB7203944437 for ; Wed, 18 Nov 2020 20:39:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org BB7203944437 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=simark.ca Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=simark@simark.ca Received: from [172.16.0.95] (192-222-181-218.qc.cable.ebox.net [192.222.181.218]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id 2B1321E552; Wed, 18 Nov 2020 15:39:16 -0500 (EST) Subject: Re: What are the procedures to use self declared convenience functions in GDB? To: Nagmat Nazar Cc: gdb@sourceware.org References: From: Simon Marchi Message-ID: <8477dd9d-5952-ca65-3b11-386259f27e61@simark.ca> Date: Wed, 18 Nov 2020 15:39:15 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: tl Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-5.9 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, NICE_REPLY_A, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Nov 2020 20:39:17 -0000 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