Discussion:
gdb hangs displaying wxWidget data, and gdb is really slow starting up when inside emacs
Jeremy Greene
2014-05-19 22:24:12 UTC
Permalink
Summary: main issue is that gdb hangs when displaying wxWidget data. Second
issue, and pretty painful is that it takes gdb over a minute to start when
inside emacs. It's fine when running from the command line.
(I have used wxWidgets, mingw and msys extensively about a year ago, but
just installing the latest on a new system)
Any help on this would be greatly appreciated!!

I just installed mingw-w64, using the installer from
http://mingw-w64.sourceforge.net/download.php and here's the start of the
build-info.txt file:
version : MinGW-W64-builds-0.0.1
user : alexey
date : 08.30.2013-10:01:03 AM
args : --buildroot=/tmp --mode=gcc-4.8.1 --bootstrap --jobs=5
--mingw-compress --rev=5 --threads=posix --exceptions=seh
And msys, SYS-20111123.zip from http://sourceforge.net/projects/mingw-w ...
32-bit%29/<http://sourceforge.net/projects/mingw-w64/files/External%20binary%20packages%20%28Win64%20hosted%29/MSYS%20%2832-bit%29/>


And then wxWidgets-3.0.0.

Built wxWidgets using:
./configure --with-msw --enable-debug --enable-debug_gdb --disable-shared
--prefix=c:/mingw --disable-precomp-headers
make
Then went into samples and did a make there. All went fine.

Then , run samples/calendar in gdb in emacs.
First issue, although not a show-stopper is how long it takes gdb to start
up (to get to the gdb prompt). Over a minute. In another (wxWidget) app, it
takes even longer.

Current directory is c:/mpega_work/wxWidgets-3.0.0/samples/calendar/
GNU gdb (GDB) 7.6
Copyright (C) 2013 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 "x86_64-w64-mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from
c:\mpega_work\wxWidgets-3.0.0\samples\calendar\calendar.exe...done. <<<<<
Gets here, printing done very quickly -- seconds
(gdb) <<<< But then takes about a minute to print the first gdb prompt

Then, the second, and big, problem. When I set a breakpoint in calendar.cpp
and try to examine a variable, gdb simply hangs forever.

(gdb)
Breakpoint 1 at 0x401812: file ./calendar.cpp, line 388.
(gdb) r
Starting program:
c:\mpega_work\wxWidgets-3.0.0\samples\calendar\calendar.exe
[New Thread 2236.0xe18]

Breakpoint 1, MyFrame::MyFrame (this=0x32e320, title=..., pos=...,
size=...) at ./calendar.cpp:388
388 menuFile->Append(Calendar_File_About, wxT("&About\tCtrl-A"), wxT("Show
about dialog"));
(gdb) p wxMenu <<<<<==== HANGS
--
Please read http://www.wxwidgets.org/support/mlhowto.htm before posting.

To unsubscribe, send email to wx-users+***@googlegroups.com
or visit http://groups.google.com/group/wx-users
asmwarrior
2014-05-20 13:41:10 UTC
Permalink
Summary: main issue is that gdb hangs when displaying wxWidget data. Second issue, and pretty painful is that it takes gdb over a minute to start when inside emacs. It's fine when running from the command line.
(I have used wxWidgets, mingw and msys extensively about a year ago, but just installing the latest on a new system)
Any help on this would be greatly appreciated!!
GDB under emace use MI interface as I can see, and you use the CLI interface from the command line.
I think you can try to see whether the slow loading happens under command line when you start GDB with mi interface.
version : MinGW-W64-builds-0.0.1
user : alexey
date : 08.30.2013-10:01:03 AM
args : --buildroot=/tmp --mode=gcc-4.8.1 --bootstrap --jobs=5 --mingw-compress --rev=5 --threads=posix --exceptions=seh
And msys, SYS-20111123.zip from http://sourceforge.net/projects/mingw-w ... 32-bit%29/ <http://sourceforge.net/projects/mingw-w64/files/External%20binary%20packages%20%28Win64%20hosted%29/MSYS%20%2832-bit%29/>
And then wxWidgets-3.0.0.
./configure --with-msw --enable-debug --enable-debug_gdb --disable-shared --prefix=c:/mingw --disable-precomp-headers
make
Then went into samples and did a make there. All went fine.
Then , run samples/calendar in gdb in emacs.
First issue, although not a show-stopper is how long it takes gdb to start up (to get to the gdb prompt). Over a minute. In another (wxWidget) app, it takes even longer.
I'm using Codeblocks, and MinGW-Build 4.7.3. I have a debug version of wx monolithic 2.8.12 library, also a debug version of Codeblocks with all debug version of the core plugins (about 10 dlls), start up the Codeblocks from GDB is no longer than 20 seconds.
Current directory is c:/mpega_work/wxWidgets-3.0.0/samples/calendar/
GNU gdb (GDB) 7.6
Copyright (C) 2013 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 "x86_64-w64-mingw32".
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from c:\mpega_work\wxWidgets-3.0.0\samples\calendar\calendar.exe...done. <<<<< Gets here, printing done very quickly -- seconds
(gdb) <<<< But then takes about a minute to print the first gdb prompt
Then, the second, and big, problem. When I set a breakpoint in calendar.cpp and try to examine a variable, gdb simply hangs forever.
(gdb)
Breakpoint 1 at 0x401812: file ./calendar.cpp, line 388.
(gdb) r
Starting program: c:\mpega_work\wxWidgets-3.0.0\samples\calendar\calendar.exe
[New Thread 2236.0xe18]
Breakpoint 1, MyFrame::MyFrame (this=0x32e320, title=..., pos=...., size=...) at ./calendar.cpp:388
388 menuFile->Append(Calendar_File_About, wxT("&About\tCtrl-A"), wxT("Show about dialog"));
(gdb) p wxMenu <<<<<==== HANGS
I don't have the hang issue. It just returned some text like: "Attempt to use a type name as an expression"

Maybe, you need a more recent GDB. (I use the GDB.exe build myself from GDB Git head)


asmwarrior(ollydbg from Codeblocks' forum)
--
Please read http://www.wxwidgets.org/support/mlhowto.htm before posting.

To unsubscribe, send email to wx-users+***@googlegroups.com
or visit http://groups.google.com/group/wx-users
Loading...