This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: GDB debugging dll loaded by exe - failing
- From: Christopher Faylor <cgf-use-the-mailinglist-please at sourceware dot org>
- To: sroberts82 <sroberts82 at yahoo dot com>, gdb at sourceware dot org
- Date: Mon, 18 Feb 2008 00:07:59 -0500
- Subject: Re: GDB debugging dll loaded by exe - failing
- References: <15532302.post@talk.nabble.com>
On Sun, Feb 17, 2008 at 11:41:01AM -0800, sroberts82 wrote:
>Hi,
>I'm trying to use GDB (Cygwin) within Eclipse. I am trying to debug
>process.exe whose source I do not have but it loads my dll, stephen.dll
>which I want to debug. Initially, when I attach to the process it appears to
>suspend it succesfully. However, I get these messages:
>
>Cannot access memory at address 0x2ae0000
>Previous frame inner to this frame (corrupt stack?)
>Previous frame inner to this frame (corrupt stack?)
>Cannot access memory at address 0x2ae0000
>Cannot access memory at address 0x2ae0000
>
>I don't know about windows security model for preventing me debugging things
>I shouldn't but whatever it is I'm presuming it's being enforced here as
>this is not my exe.
>
>However, when I try to view the disassembly, I can't see anything.
>
>So, I resume the process. This itself if quite sporadic as to whether or not
>it is succesful. Quite often (as in 60% plus), gdb crashes. When it does
>work, I carry on and load my dll and get the following messages:
>
>Error: dll starting at 0x2141000 not found.
>
>Error: dll starting at 0x661c1000 not found.
>
>Error: dll starting at 0x685b1000 not found.
>
>Error: dll starting at 0x72801000 not found.
>
>When I try to set a breakpoint in my dll code, it seems to get set fine. But
>when I do whatever I do to get that code to run, gdb just crashes, always.
What version of gdb are you using? If you are using the one from the Cygwin
release you might try building a gdb from CVS to see if that works better.
It's possible that your problems are due to dll relocation and the gdb
in CVS works better in that scenario.
cgf