From: asmwarrior <asmwarrior@gmail.com>
To: Pierre Muller <pierre.muller@ics-cnrs.unistra.fr>
Cc: gdb-patches@sourceware.org
Subject: Re: [RFC-v5] Fix .text section offset for windows DLL (was Calling __stdcall functions in the inferior)
Date: Sun, 09 Dec 2012 13:19:00 -0000 [thread overview]
Message-ID: <50C49050.2020700@gmail.com> (raw)
In-Reply-To: <50c487f8.a813b40a.57d7.ffffdc7fSMTPIN_ADDED_BROKEN@mx.google.com>
On 2012-12-9 20:45, Pierre Muller wrote:
> Hi Yuanhui,
>
>
>> -----Message d'origine-----
>> De : gdb-patches-owner@sourceware.org [mailto:gdb-patches-
>> owner@sourceware.org] De la part de asmwarrior
>> Envoyé : dimanche 9 décembre 2012 03:48
>> Ã : Pierre Muller
>> Cc : 'Joel Brobecker'; 'Eli Zaretskii'; gdb-patches@sourceware.org
>> Objet : Re: [RFC-v5] Fix .text section offset for windows DLL (was Calling
>> __stdcall functions in the inferior)
>>
>> On 2012-12-9 2:00, Pierre Muller wrote:
>>> This memory corruption is rather odd...
>>> it seems that the rva_end of index=2 seems to contains the same data
>>> as the section_name for index 4...
>>> This array is really created only inside read_pe_exported_syms
>>> so that it would be worth trying to add a breakpoint at that function,
>>> and step over it for ntdll.dll to understand when the data gets
>> corrupted...
>>> Would it be possible for you to upload the codeblocks executable that
>> triggers
>>> the problem somewhere so I could
>>> check if I get the same errors and debug further?
>>>
>>> I have no idea what is going on...
>>>
>>>
>>> Pierre Muller
>>>
>> Hi, Pierre:
>>
>> I think you can test the official Codeblocks release 12.11.
>>
>> 1, you can download the release from: http://www.codeblocks.org/downloads/26
>> select this one: codeblocks-12.11-setup.exe
>> Note: the binaries in this release contain debug information (build with -g
>> options)
>
> Strange because I did install program that you are refereeing to above,
> but the installed codeblock.exe files doesn't contain any debug information,
> see elow:
>
> C:\Program Files (x86)\CodeBlocks\debug>dir codeblocks.exe
> Le volume dans le lecteur C s'appelle OS
> Le numéro de série du volume est 4801-E7AF
>
> Répertoire de C:\Program Files (x86)\CodeBlocks\debug
>
> 28/11/2012 20:08 1 253 390 codeblocks.exe
> 1 fichier(s) 1 253 390 octets
> 0 Rép(s) 2 344 669 184 octets libres
>
> C:\Program Files (x86)\CodeBlocks\debug>gdbcvs codeblocks.exe
> GNU gdb (GDB) 7.5.50.20121106-cvs
> Copyright (C) 2012 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law. Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "i686-pc-mingw32".
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>...
> Reading symbols from C:\Program Files (x86)\CodeBlocks\debug\codeblocks.exe...(no debugging symbols found)...done.
> (gdb) q
>
> C:\Program Files (x86)\CodeBlocks\debug>objdump -h codeblocks.exe
>
> codeblocks.exe: file format pei-i386
>
> Sections:
> Idx Name Size VMA LMA File off Algn
> 0 .text 000b550c 00401000 00401000 00000400 2**4
> CONTENTS, ALLOC, LOAD, READONLY, CODE, DATA
> 1 .data 00000100 004b7000 004b7000 000b5a00 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 2 .rdata 0001bb30 004b8000 004b8000 000b5c00 2**5
> CONTENTS, ALLOC, LOAD, READONLY, DATA
> 3 .eh_frame 00000438 004d4000 004d4000 000d1800 2**2
> CONTENTS, ALLOC, LOAD, READONLY, DATA
> 4 .bss 000086dc 004d5000 004d5000 00000000 2**5
> ALLOC
> 5 .edata 00000985 004de000 004de000 000d1e00 2**2
> CONTENTS, ALLOC, LOAD, READONLY, DATA
> 6 .idata 00014120 004df000 004df000 000d2800 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 7 .CRT 00000018 004f4000 004f4000 000e6a00 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 8 .tls 00000020 004f5000 004f5000 000e6c00 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 9 .rsrc 0003bc0c 004f6000 004f6000 000e6e00 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 10 .reloc 0000f2c8 00532000 00532000 00122c00 2**2
> CONTENTS, ALLOC, LOAD, READONLY, DATA
>
> C:\Program Files (x86)\CodeBlocks\debug>
>
> Are you sure it's the file from codeblocks-12.11-setup.exe
> that you are analyzing?
Sorry, I may be wrong, but look at this post in C::B forum:
http://forums.codeblocks.org/index.php/topic,17200.msg117936.html#msg117936
One of the C::B developer said that the debug information is not stripped in the exe/dll files.
But whether the codeblocks.exe contains the debug information or not, it did crash gdb when I run the
command:
file:
file d:/software/cb/codeblocks/codeblocks.exe
> STOP right here!
>
> You get a warning about memory corruption before the crash!
> So you need to find out why you get this.
Here, in my system, I have two codeblocks.exe, one is under my svn_trunk folder(build myself), which cause my gdb crash when I enter "r" command.
The other one is from the "codeblocks-12.11-setup.exe", which cause gdb crash when I run the "file xxxxx" command.
I'm not sure they refer to the same issue.
> The best would be to start GDB from gdb_stable using
> start command and place an access watchpoint on the location
> that is given (if the address is the same for different runs...)
> awatch *0x2de4228
> should allow to get more information.
> It might not work right after start command,
> because the corresponding memory block might
> not yet be accessible by the program,
> in that case try to add a breakpoint
> at read_pe_exported_syms function,
> and try to insert the watchpoint at each stop at that breakpoint.
>
> This way, we might finally understand which allocated memory
> is accessed after being freed.
It looks like I need to learn some gdb commands I have never used.
Do I need to upload myself build codeblocks binaries somewhere that you want try it?
Or you can already build codeblocks yourself?
Yuanhui Zhang
next prev parent reply other threads:[~2012-12-09 13:19 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <83a9vs89r9.fsf@gnu.org>
[not found] ` <201210120953.q9C9rqfu020865@glazunov.sibelius.xs4all.nl>
[not found] ` <834nm07z0s.fsf@gnu.org>
[not found] ` <5077FEB9.4030304@redhat.com>
[not found] ` <83y5jb7rfe.fsf@gnu.org>
2012-10-15 13:36 ` [RFC] " Pierre Muller
2012-10-24 19:45 ` Joel Brobecker
2012-10-25 12:21 ` Pierre Muller
2012-11-05 17:11 ` Joel Brobecker
2012-11-06 14:31 ` [RFC-v2] " Pierre Muller
[not found] ` <50991f5f.8382440a.1100.ffff82abSMTPIN_ADDED@mx.google.com>
2012-11-07 19:44 ` Pedro Alves
2012-11-08 9:54 ` [RFC-v3] " Pierre Muller
2012-11-22 17:30 ` Joel Brobecker
2012-11-22 17:51 ` Pedro Alves
2012-11-25 22:50 ` [RFC-v4] " Pierre Muller
2012-11-26 17:22 ` Joel Brobecker
2012-11-26 18:36 ` Tom Tromey
2012-11-26 20:58 ` Joel Brobecker
[not found] ` <15690.5992342674$1353883881@news.gmane.org>
2012-11-26 4:04 ` asmwarrior
2012-11-26 10:14 ` Pierre Muller
[not found] ` <50b340fb.0aec440a.1c48.5818SMTPIN_ADDED_BROKEN@mx.google.com>
2012-11-26 11:39 ` Pedro Alves
2012-11-26 16:54 ` Tom Tromey
2012-11-27 14:59 ` [RFC-v5] " Pierre Muller
2012-12-07 7:10 ` Joel Brobecker
2012-12-07 15:23 ` asmwarrior
2012-12-07 15:41 ` Pierre Muller
[not found] ` <29545.4593528577$1354894901@news.gmane.org>
2012-12-07 16:15 ` asmwarrior
2012-12-07 16:27 ` Pierre Muller
[not found] ` <50c21914.a750420a.2ec3.ffffe4ffSMTPIN_ADDED_BROKEN@mx.google.com>
2012-12-07 17:10 ` Pedro Alves
2012-12-07 17:49 ` Pedro Alves
2012-12-13 10:57 ` Pierre Muller
2012-12-13 11:07 ` Pedro Alves
2012-12-13 11:49 ` Pedro Alves
[not found] ` <00a201cdd931$b0ee13f0$12ca3bd0$@muller@ics-cnrs.unistra.fr>
2012-12-13 14:32 ` Pedro Alves
2012-12-13 15:17 ` Pierre Muller
2012-12-13 14:33 ` Pedro Alves
2012-12-13 14:56 ` Pierre Muller
2012-12-13 15:03 ` Pedro Alves
2012-12-13 16:43 ` Pedro Alves
2012-12-13 16:54 ` Pierre Muller
2012-12-13 16:56 ` Pedro Alves
2012-12-13 17:09 ` Pierre Muller
2012-12-13 15:08 ` Pierre Muller
2012-12-13 16:04 ` Pedro Alves
[not found] ` <50c218e5.2850b40a.0281.ffffbef4SMTPIN_ADDED_BROKEN@mx.google.com>
2012-12-08 14:17 ` asmwarrior
2012-12-08 15:07 ` asmwarrior
2012-12-08 18:01 ` Pierre Muller
[not found] ` <50c38058.03d0d80a.31dd.4e28SMTPIN_ADDED_BROKEN@mx.google.com>
2012-12-09 2:45 ` asmwarrior
2012-12-09 12:45 ` Pierre Muller
[not found] ` <50c487f8.a813b40a.57d7.ffffdc7fSMTPIN_ADDED_BROKEN@mx.google.com>
2012-12-09 13:19 ` asmwarrior [this message]
2012-12-13 10:48 ` Pierre Muller
[not found] ` <37373.4003318988$1355395714@news.gmane.org>
2012-12-13 16:16 ` Tom Tromey
2012-12-13 16:21 ` Pierre Muller
[not found] ` <12936.6976012991$1355415704@news.gmane.org>
2012-12-13 20:05 ` Tom Tromey
[not found] ` <42721.1671988063$1354028360@news.gmane.org>
2012-11-28 2:44 ` asmwarrior
2012-11-29 3:40 ` asmwarrior
2012-12-12 0:59 ` asmwarrior
[not found] ` <50b2a0d1.c849420a.3a3a.3538SMTPIN_ADDED_BROKEN@mx.google.com>
2012-12-07 16:38 ` [RFC-v4] " Pedro Alves
2012-12-07 17:03 ` Pierre Muller
2012-12-07 17:50 ` Pedro Alves
[not found] ` <000301cdbd96$f5cd9f10$e168dd30$%muller@ics-cnrs.unistra.fr>
2012-11-17 10:01 ` [RFC-v3] " Eli Zaretskii
[not found] ` <006001cdaada$00c81f00$02585d00$%muller@ics-cnrs.unistra.fr>
2012-10-15 17:23 ` [RFC] " Eli Zaretskii
2012-11-03 10:36 ` Eli Zaretskii
2012-11-06 13:55 ` Pierre Muller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50C49050.2020700@gmail.com \
--to=asmwarrior@gmail.com \
--cc=gdb-patches@sourceware.org \
--cc=pierre.muller@ics-cnrs.unistra.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox