This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: MS or cygwin dll debug tools/ was "sys/sockio.h" etc.


> first instruction of the binary. There is no such "can't debug before
> main" restriction.
>

I think what bothered me is I just tried to step it to get minimum initial 
increment and that bombed- so I just assumed it wouldn't be early enough.
In any case, it looked like I needed to instrument the loading process, 

(gdb) info functions CRT
All functions matching regular expression "CRT":

Non-debugging symbols:
0x00401000  WinMainCRTStartup
0x00401000  mainCRTStartup
(gdb) info target
Symbols from "/cygdrive/e/new/temp/nmap/src3/nmap-4.62/a.exe".
Local exec file:
        `/cygdrive/e/new/temp/nmap/src3/nmap-4.62/a.exe', file type pei-i386.
        Entry point: 0x401000
        0x00401000 - 0x004e9608 is .text
        0x004ea000 - 0x004ebaa0 is .data
        0x004ec000 - 0x00509c24 is .rdata
        0x0050a000 - 0x00519b50 is .bss
        0x0051a000 - 0x0051bfa8 is .idata
(gdb) b *0x0401000
Breakpoint 1 at 0x401000
(gdb) run
Starting program: /cygdrive/e/new/temp/nmap/src3/nmap-4.62/a.exe

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program exited with code 0200.
You can't do that without a process to debug.
(gdb)

> Date: Wed, 28 May 2008 08:36:33 -0700
> From: brian@dessent.net
> To: gchicares@sbcglobal.net
> CC: cygwin@cygwin.com
> Subject: Re: MS or cygwin dll debug tools/ was "sys/sockio.h" etc.
>
> Greg Chicares wrote:
>
>> Using cygwin's gdb on a MinGW app, I can set this breakpoint
>> b '__mingw_CRTStartup'
>> on the function that invokes main(), and then examine variables
>> before main() is invoked. For a Cygwin app, I guess you'd break
>> on 'mainCRTStartup'. Does that breakpoint happen early enough to
>> meet your needs?
>
> You can also do "info target" to display the entry point and then set a
> breakpoint on it as e.g. "b *0x401000" if you want to start at the very
> first instruction of the binary. There is no such "can't debug before
> main" restriction.
>
> Brian
>
> --
> 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/
>

_________________________________________________________________
Give to a good cause with every e-mail. Join the i’m Initiative from Microsoft.
http://im.live.com/Messenger/IM/Join/Default.aspx?souce=EML_WL_ GoodCause

--
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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]