Debian packages (binaries and sources) for 32-bit and 64-bit systems can be found in my repo.
If you want to use apt (or dselect, synaptic or whatever) you need to add the following entries to /etc/apt/sources.list :
deb http://apt.jenslody.de/ any dbg
deb-src http://apt.jenslody.de/ any dbg
and remove entries for the normal nightlies.
Alternatively you can download the deb's directly from http://apt.jenslody.de/pool/dbg/c/codeblocks/ (http://apt.jenslody.de/pool/dbg/c/codeblocks/) .
voila, on my linux box I switched to the debugger branch :-)
Some first requests/issues.
In a program I want to be able to use CTRL-Z. However the debugger (gdb) is going to catch this, so where I normally would issue the following command in gdb :
handle SIGTSTP nostop noprint pass
I know added this to the Debugger settings -> Debugger intialization commands [note the typo in CB : intialization] :
handle SIGTSTP nostop noprint pass
When the debugger session from within CB has started, I check the Debugger->Information->Signal handling, and we see a nice entry : no no yes.
So this is good, however inside the program, cntrl-Z does NOT do what it supposed to do.
This does however work when the program was launched through gdb on the command line (and issueing the handle command in gdb).
Any idea why this doesn't work when the launch happened from CB ?
Request : currently we show the signal table purely informational, wouldn't it be nice that this table could be modified, so we can hide the handle command alltogether, and maybe CB could store this information so it doesn't have to be entered each time ?
What do you guys think ?
Could we hide the remote console on MSW with something like the following:
Index: src/plugins/debuggergdb/debuggergdb.cpp
===================================================================
--- src/plugins/debuggergdb/debuggergdb.cpp (revision 6710)
+++ src/plugins/debuggergdb/debuggergdb.cpp (working copy)
@@ -831,6 +831,13 @@
SetConsoleTitleA("Codeblocks debug console - DO NOT CLOSE!");
SetConsoleCtrlHandler(HandlerRoutine, TRUE);
m_bIsConsole = true;
+ //(pecan 2010/10/20) start
+ HWND console_window_handle = GetConsoleWindow();
+ if (console_window_handle)
+ {
+ ShowWindow( console_window_handle, SW_HIDE );
+ }
+ //(pecan 2010/10/20) end
}
#endif
// start the gdb process
Could we hide the remote console on MSW with something like the following:
Does stopping the debuggee works if the console is hidden? If it works I have nothing against it :)
Yep, the double bar on the debugger tool bar breaks just fine with the patch.
"Step Into" is enabled, runs the debugger but does not break the program.
Why is "Step Into" enabled before running the debugger?
Debug log please...
This log is from a MSW simple wxWidgets Hello world, a rebuild, then a hit on the "Step Into" button.
Debugger log
Building to ensure sources are up-to-date
Selecting target:
Debug
Adding source dir: C:\temp\Test\
Adding source dir: C:\temp\Test\
Adding file: .\debug\Test.exe
Starting debugger:
done
Registered new type: wxString
Registered new type: STL String
Registered new type: STL Vector
Setting breakpoints
Debugger name and version: GNU gdb (GDB) 7.0
Child process PID: 4520
Debugger debug log
PATH=.;C:\Usr\Proj\wxWidgets2810\lib\gcc_lib;C:\Usr\mingw431\bin;C:\Usr\Proj\ImageCraft\ImageCraft_ARM\trunk\src\output;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;c:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Dell\Dell Wireless WLAN Card;C:\Program Files (x86)\Common Files\Roxio Shared\DLLShared\;C:\usr\bin;C:\Program Files (x86)\CollabNet Subversion;C:\Program Files (x86)\TortoiseSVN\bin;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Common Files\Adobe\AGL
Command-line: C:\Usr\mingw431\bin\gdb.exe -nx -fullname -quiet -args ./debug/Test.exe
Working dir : C:\temp\Test\
> set prompt >>>>>>cb_gdb:
Reading symbols from C:\temp\Test/./debug/Test.exe...done.
(gdb) >>>>>>cb_gdb:
> show version
GNU gdb (GDB) 7.0
Copyright (C) 2009 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 "mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
>>>>>>cb_gdb:
> set confirm off
>>>>>>cb_gdb:
> set width 0
>>>>>>cb_gdb:
> set height 0
>>>>>>cb_gdb:
> set breakpoint pending on
>>>>>>cb_gdb:
> set print asm-demangle on
>>>>>>cb_gdb:
> set unwindonsignal on
>>>>>>cb_gdb:
> set print elements -1
>>>>>>cb_gdb:
> set debugevents on
>>>>>>cb_gdb:
> set disassembly-flavor att
>>>>>>cb_gdb:
> source c:\Usr\Proj\cbDebug\trunk\src\output\share\codeblocks/scripts/stl-views-1.0.3.gdb
>>>>>>cb_gdb:
> directory C:/temp/Test/
>>>>>>cb_gdb:
> run
gdb: windows_init_thread_list
[New Thread 4768.0x2dc]
BTW: Can someone try to reproduce this bug:
1. Start debugger
2. Break on some breakpoint
3. Show and dock the watches window
4. Select something in the editor
5. Drag and drop the selection in to the empty item at the bottom of the watches window
The result is that the drag'n'drop operation is cut not copy and the selected text is deleted from the editor.
I've successfully reproduced this bug on two linux machines:
1. gentoo amd64 unstable (gcc 4.4.5 + wxGTK 2.8.11)
2. fedora 8 amd64 inside vmware player (this machine was given to me and I don't know how updated it is)
[root@localhost ~]# rpm -qa | grep wx
wxGTK-2.8.9-1.fc8
wxGTK-gl-2.8.9-1.fc8
wxGTK-devel-2.8.9-1.fc8
wxBase-2.8.9-1.fc8
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.23.1-42.fc8 #1 SMP Tue Oct 30 13:18:33 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# cat /etc/redhat-release
Fedora release 8 (Werewolf)