Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Date: Mon, 22 Dec 2003 10:15:38 -0500
From: Steve Coleman <Steve.Coleman@jhuapl.edu>
Subject: Re: How to set breakpoints before mainCRTStartup?
In-reply-to: <3FE49F02.2010904@kaffe.org>
To: cygwin@cygwin.com
Message-id: <3FE70A9A.6070005@jhuapl.edu>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii; format=flowed
Content-transfer-encoding: 7BIT
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5) Gecko/20031007
References: <3FE341DF.90800@kaffe.org> <3FE49F02.2010904@kaffe.org>
X-IsSubscribed: yes

Dalibor Topic wrote:

> Dalibor Topic wrote:
>
>> Hi all,
>>
>> in my attempts to fix an ugly bug in kaffe on Cygwin, the bug I'm 
>> trying to squish turned out to be triggered by something that happens 
>> *before* main is called.
>
<snip>

>> Since I'd like to know what modifes that opcode, I hope to be able to 
>> set a breakpoint in gdb on the code that is executed before main in 
>> Cygwin.
>>
Try running gdb with the "-command=<file name>" option and put a line in 
it like "br myfunc". I have not tried this with cygwin gdb but it works 
for me on several other OS's i use.

>> Any idea how to do that, i.e. where to put the breakpoint? Are there 
>> some docs on what happends before main() on cygwin that I could look 
>> up for reference while trying to hunt down this bug?
>
>
> It turns out that the bug happens even before mainCRTStartup.
>
> Has anyone seen something like that before?

I have seen something like this before. If it is a C++ app then it may 
be a constructor in a statically or golbally declared object instance. 
The compiler should generate code to call all the global object 
constructors for initializing these objects *before* calling main().

Hope this helps.

Steve.




--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

