X-Spam-Check-By: sourceware.org Date: Wed, 20 Sep 2006 10:48:36 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: gdb attach to process to produce stacktrace Message-ID: <20060920144836.GA23721@trixie.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.11 Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT 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/