From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23810 invoked by alias); 12 Jun 2011 03:56:18 -0000 Received: (qmail 23801 invoked by uid 22791); 12 Jun 2011 03:56:17 -0000 X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,TW_DB,TW_SM X-Spam-Check-By: sourceware.org Received: from mail-pv0-f169.google.com (HELO mail-pv0-f169.google.com) (74.125.83.169) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 12 Jun 2011 03:56:03 +0000 Received: by pvc12 with SMTP id 12so2063502pvc.0 for ; Sat, 11 Jun 2011 20:56:03 -0700 (PDT) Received: by 10.142.201.17 with SMTP id y17mr598868wff.166.1307850961197; Sat, 11 Jun 2011 20:56:01 -0700 (PDT) Received: from [192.168.1.100] ([115.195.155.250]) by mx.google.com with ESMTPS id l10sm4533075wfk.9.2011.06.11.20.55.54 (version=SSLv3 cipher=OTHER); Sat, 11 Jun 2011 20:55:59 -0700 (PDT) Message-ID: <4DF43971.8090404@gmail.com> Date: Sun, 12 Jun 2011 03:56:00 -0000 From: asmwarrior User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.17) Gecko/20110414 Thunderbird/3.1.10 MIME-Version: 1.0 To: Keith Seitz CC: gdb@sourceware.org, MinGW Users List Subject: Re: setting a breakpoint on a dll, relative path or absolute path issue References: <4DF31EB0.6080006@gmail.com> <4DF3A114.8040709@redhat.com> In-Reply-To: <4DF3A114.8040709@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit 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-06/txt/msg00078.txt.bz2 On 2011-6-12 1:08, Keith Seitz wrote: > On 06/11/2011 12:52 AM, asmwarrior wrote: >> Can you give me a direction that I can dig into the gdb's source? > > This is almost certainly PR 12843: > > http://sourceware.org/bugzilla/show_bug.cgi?id=12843 > > This was caused, I believe, by this patch hunk (for locate_first_half in > linespec.c), which I committed for c++/12750 on 2011-05-31: > > @@ -1160,13 +1207,11 @@ locate_first_half (char **argptr, int > *is_quote_enclosed > break; > } > /* Check for the end of the first half of the linespec. End of > - line, a tab, a double colon or the last single colon, or a > - space. But if enclosed in double quotes we do not break on > - enclosed spaces. */ > + line, a tab, a colon or a space. But if enclosed in double > + quotes we do not break on enclosed spaces. */ > if (!*p > || p[0] == '\t' > - || ((p[0] == ':') > - && ((p[1] == ':') || (strchr (p + 1, ':') == NULL))) > + || (p[0] == ':') > || ((p[0] == ' ') && !*is_quote_enclosed)) > break; > if (p[0] == '.' && strchr (p, ':') == NULL) > > I am intending to get to this, but it will probably not be until later > this coming week. > > Keith > Hi, Keith, thanks for the reply. I have reverted the patch hunk in the locate_first_half function and build gdb again, now, I can set breakpoint like: > break "E:/code/cb/test_code/debug_wx_library/debug_wx_libraryMain.cpp:101" Breakpoint 1 at 0x401d09: file E:\code\cb\test_code\debug_wx_library\debug_wx_libraryMain.cpp, line 101. So, the PR 12843 can be solved. --------------------------------------------------------------- But what I have mentioned in my OP is another issue about setting breakpoint, that is: gdb failed on setting a breakpoint on a shared dll(the dll is build with the relative paths) break "E:/code/cb/wx/wxWidgets-2.8.12/src/common/string.cpp:164" No source file named E:/code/cb/wx/wxWidgets-2.8.12/src/common/string.cpp. Breakpoint 2 ("E:/code/cb/wx/wxWidgets-2.8.12/src/common/string.cpp:164) pending. ------------------------------------------------------------------ But the breakpoint can be set by using two ways below: > break ../../src/common/string.cpp:164 Breakpoint 3 at 0x66d89f44: file ../../src/common/string.cpp, line 164. >>>>>>cb_gdb: > break E:\code\cb\wx\wxWidgets-2.8.12\build\msw/../../src/common/string.cpp:164 Breakpoint 4 at 0x66d89f44: file ../../src/common/string.cpp, line 164. ------------------------------------------------------------------- What I expect is the let the first way work. So, I would like to find some gdb source snippet which handle the file path match algorithm, so that all the three methods can work. Can you give me a direction? thanks. asmwarrior ollydbg from code::blocks' forum