From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25180 invoked by alias); 12 Apr 2011 21:17:37 -0000 Received: (qmail 25172 invoked by uid 22791); 12 Apr 2011 21:17:36 -0000 X-SWARE-Spam-Status: No, hits=-6.0 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,TW_BX,TW_IB,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 12 Apr 2011 21:17:28 +0000 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p3CLHRgW032507 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 12 Apr 2011 17:17:27 -0400 Received: from localhost.localdomain (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id p3CLHQVS022839; Tue, 12 Apr 2011 17:17:26 -0400 From: Phil Muldoon To: Christoph Mathys Cc: gdb@sourceware.org Subject: Re: passing gdb.Value pointers to ctypes function calls References: Reply-to: pmuldoon@redhat.com X-URL: http://www.redhat.com Date: Tue, 12 Apr 2011 21:17:00 -0000 In-Reply-To: (Christoph Mathys's message of "Tue, 12 Apr 2011 11:44:22 +0200") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2011-04/txt/msg00039.txt.bz2 Christoph Mathys writes: > Hello! > > I'm trying to write a pretty printer for gdb 7.2 using python, to be > concrete I would like to print an Xml node (libxml2) as text. I've > managed to get the pointers to node and document. Now I'm trying to > call libxml using ctypes module, passing the pointer values as > c_void_p. But gdb keeps crashing on me. If GDB ever crashes it is a bug. Can you file a bug for this? > Is this supposed to work at > all? I allocate some buffer, pass it to libxml functions along with > some addresses I obtain from the debugged process using gdb, and as a > result I expect the string representation of the node in the buffer. > > For converting between gdb.Value and ctypes usable stuff I use something like: > ptr = int(str(gdbValNode), 16) > c_void_p(ptr) > > I'm attached to the running process. But as far as I understand, this > should work on the running process as well as the core file. It should, but without more concrete information it is difficult to diagnose the issue. I am concerned about the GDB crash though, that should be fixed. Cheers, Phil