X-Spam-Check-By: sourceware.org
Date: Wed, 20 Sep 2006 10:48:36 -0400
From: Christopher Faylor <cgf-no-personal-reply-please@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: gdb attach to process to produce stacktrace
Message-ID: <20060920144836.GA23721@trixie.casa.cgf.cx>
Reply-To: cygwin@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
References: <eeri1a$1qb$1@sea.gmane.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <eeri1a$1qb$1@sea.gmane.org>
User-Agent: Mutt/1.5.11
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
Precedence: bulk
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie.com@cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

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/

