This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ 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: python pretty print gdb script error on map


On 2010-6-18 16:29, Jonathan Wakely wrote:
On 18 June 2010 09:01, asmwarrior wrote:
Hi, all. I have found that the python pretty print script failed to print
the map values. Here is the sample code:
Here is the gdb log: (I'm using TDM-MinGW 4.5, gdb cvs 0613 selfbuild with
python support, python 2.6.5 Windows XP)

I use the py script followed from this wiki
http://sourceware.org/gdb/wiki/STLSupport
Does MinGW not come with the libstdc++ printers.py script?
Thanks for the reply. Now, MinGW doesn't contains any libstdc++ python scirpts. The one I used was checked out from the GCC svn trunk.

  It is
included in GCC 4.5 and might be a more recent version than on the GDB
website.

Your program displays fine for me with GCC 4.6 and GDB 7.1

I have a MinGW version of GCC 4.4.4 and GCC 4.5. The stdlibc++ python scirpts (show the map content) works fine with MinGW 4.4.4. and Failed with MinGW 4.5, so, I guess the internal implementation of GCC has changed between versions.
By the way, I have found when I used python pretty printer to show the local
variables, there are some problems. Sometimes, gdb command "info local"
shows some variables that are not initialized, then gdb will get crashed,
because python script will resolve the wrong address when a variable is not
initialized. Is there any way to solve this.
That's a GDB issue, there's nothing GCC can do about that.
About this question. I personally think that there are some "debug informations stored in the debugee", the that the gdb can understand which local variables are initialized or not. Consider the bug report in GDB.

http://sourceware.org/bugzilla/show_bug.cgi?id=11407

The latest poster has a patch to deal with the python errors, but this is not a perfect way I think.

I also post some replies there, I just thought the "variable initialized list" should works as C++ exception, but it seems GDB has no way to know that debug information. So, it is possible to let GCC adding these mechanisms? Sorry if my idea is wrong, and please correct me.

Thanks.

asmwarrior ollydbg from codeblocks' forum


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]