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: gdb attach to process to produce stacktrace


Exactly, thread 1 is of interest. That's the reason why the code posted 
switches to thread 1!

The real question is as to why the parent process needs to go into a 
while(1) loop in order to produce the desired trace.

H.
"Christopher Faylor" <cgf-no-personal-reply-please@cygwin.com> wrote in 
message 20060920144836.GA23721@trixie.casa.cgf.cx">news:20060920144836.GA23721@trixie.casa.cgf.cx...
> On Wed, Sep 20, 2006 at 07:06:45AM -0700, Hans Horn wrote:
>>for quite some time I was trying to figure out (e.g.
>>http://thread.gmane.org/gmane.os.cygwin/58420/focus=58420) how to attach 
>>gdb
>>to a process in order to produce a useful stacktrace.
>>
>>All attempts however produced something useless like the following:
>>
>>[Switching to thread 1096.0x7f4]
>>* 4 thread 1096.0x7f4  0x7c901231 in ntdll!DbgUiConnectToDbg () from
>>/cygdrive/c/WINDOWS/system32/ntdll.dll
>>  3 thread 1096.0xce0  0x7c90eb94 in ntdll!LdrAccessResource () from
>>/cygdrive/c/WINDOWS/system32/ntdll.dll
>>  2 thread 1096.0x8ec  0x7c90eb94 in ntdll!LdrAccessResource () from
>>/cygdrive/c/WINDOWS/system32/ntdll.dll
>>  1 thread 1096.0xc40  0x7c90eb94 in ntdll!LdrAccessResource () from
>>/cygdrive/c/WINDOWS/system32/ntdll.dll
>>[Switching to thread 1 (thread 1096.0xc40)]#0  0x7c90eb94 in
>>ntdll!LdrAccessResource () from /cygdrive/c/WINDOWS/system32/ntdll.dll
>>#6  0x00000000 in ?? ()
>>#0  0x7c90eb94 in ntdll!LdrAccessResource () from
>>/cygdrive/c/WINDOWS/system32/ntdll.dll
>>#1  0x7c90e9ab in ntdll!ZwWaitForMultipleObjects () from
>>/cygdrive/c/WINDOWS/system32/ntdll.dll
>>#2  0x7c8094e2 in KERNEL32!CreateFileMappingA () from
>>/cygdrive/c/WINDOWS/system32/kernel32.dll
>>#3  0x00000002 in ?? ()
>>#4  0x0021fe38 in ?? ()
>>#5  0x00000001 in ?? ()
>>#6  0x00000000 in ?? ()
>
> Try "info threads" and you may see that thread 1 is what you're interested
> in.  Windows creates a new thread in the attached process when gdb 
> attaches
> to it so this is not what you would normally be interested in.
>
> Note that if the process is stopped in a Windows DLL the stack trace
> will probably not be very informative.
>
> cgf
> 




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