From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29089 invoked by alias); 7 Jul 2005 08:16:23 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 28984 invoked by uid 22791); 7 Jul 2005 08:16:11 -0000 Received: from ihemail2.lucent.com (HELO ihemail2.lucent.com) (192.11.222.163) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Thu, 07 Jul 2005 08:16:11 +0000 Received: from nbgif1.de.lucent.com (h135-246-31-82.lucent.com [135.246.31.82]) by ihemail2.lucent.com (8.12.11/8.12.11) with ESMTP id j678G7NT002406 for ; Thu, 7 Jul 2005 03:16:07 -0500 (CDT) Received: from sfsws1.de.lucent.com (sfsws1 [135.246.31.38]) by nbgif1.de.lucent.com (8.11.7p1+Sun/8.11.7) with ESMTP id j678G6Q15731 for ; Thu, 7 Jul 2005 10:16:06 +0200 (MEST) Received: from sfsw51.de.lucent.com (sfsw51 [135.246.72.99]) by sfsws1.de.lucent.com (8.11.7p1+Sun/8.8.5) with ESMTP id j678G5628356 for ; Thu, 7 Jul 2005 10:16:06 +0200 (MEST) Received: (from kzeitler@localhost) by sfsw51.de.lucent.com (8.11.7p1+Sun/8.8.8) id j678G5B22941; Thu, 7 Jul 2005 10:16:05 +0200 (MEST) To: gdb@sources.redhat.com Subject: gdb needs full C++ function signature to set a breakpoint From: Klaus Zeitler X-Meat: Veal Date: Thu, 07 Jul 2005 08:16:00 -0000 Message-ID: User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (usg-unix-v) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2005-07/txt/msg00066.txt.bz2 Hello, I'm debugging a program with automatically generated C++ code (hundreds of classes with lots of ugly looking, but unique, i.e. not overloaded member functions). When I try to set a breakpoint on such a C++ member function name gdb always says: "The class ... does not have any method named ...". For example using the following function: aMOTxAmp_Actor::choicePoint28_checkAST(SPD > const*, prMOAccess::Conjugate*) (that gets mangled to _ZN14aMOTxAmp_Actor22choicePoint28_checkASTEPK3SPDI19MODCInvokeActionReq2SPI8MODCBaseEEPN10prMOAccess9ConjugateE) gdb says: (gdb) b aMOTxAmp_Actor::choicePoint28_checkAST the class aMOTxAmp_Actor does not have any method named choicePoint28_checkAST Hint: try 'aMOTxAmp_Actor::choicePoint28_checkAST or 'aMOTxAmp_Actor::choicePoint28_checkAST Thus I always need to have these function names expanded with '...'. That's not very convenient but ok as long as I don't want to set breakpoints via .gdbinit (in the latter case I use the mangled names). Now what puzzles me is, that when I reduce my 100MB image to a small example with only one or two of these weird functions, gdb is able to set the breakpoint in the example above. BTW I've checked that in both cases 'nm | grep choicePoint28_checkAST' returns exactly one (and the same) match. Thanks Klaus -- ------------------------------------------ | Klaus Zeitler Lucent Technologies | | Email: kzeitler@lucent.com | ------------------------------------------ --- The only problem with being a man of leisure is that you can never stop and take a rest.