digitalmars.D.ide - Debugger on Codeblocks with DMD and Tango on Linux
- Timo Gransch (35/35) Aug 10 2008 Hi all,
- Koroskin Denis (6/42) Aug 11 2008 I don't use gdb but I've heard you need to apply some patches for better...
- Timo Gransch (7/10) Aug 11 2008 Hi!
- =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= (7/10) Aug 13 2008 If you don't get the same problems when doing the same build/debug from
- Denis Koroskin (6/16) Aug 13 2008 Yeah, make sure compiler and linker get the "-g" flag.
- Timo Gransch (14/19) Aug 13 2008 Hi Denis and Anders!
Hi all, did anybody manage to make the debugger work with the above environment (Codeblocks 8.02 or the current 'Nightly Build', current Tango + DMD package with DMD 1.033, gdb 6.8 from Debian Testing)? If I set a breakpoint and then start the debugger, I get: ------------------- 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 6.8-debian Child process PID: 3642 ------------------- This looks OK to me so far, but there is no debugger arrow shown. Obviously something happens when I press F7 (Next line), because every time I do, I get messages like ------------------- In _D6dmain24mainUiPPaZi7runMainMFZv () () In _D6dmain24mainUiPPaZi7tryExecMFDFZvZv () () In _D6dmain24mainUiPPaZi6runAllMFZv () () In _D6dmain24mainUiPPaZi7tryExecMFDFZvZv () () ------------------- ... and finally ... ------------------- In main () () In __libc_start_main () (/lib/libc.so.6) Program exited normally. Debugger finished with status 0 ------------------- ... but still no yellow arrow. Any ideas on what is wrong? Best regards and thanks in advance, Timo
Aug 10 2008
On Sun, 10 Aug 2008 11:41:26 +0400, Timo Gransch <timo.gransch gmx.de> wrote:Hi all, did anybody manage to make the debugger work with the above environment (Codeblocks 8.02 or the current 'Nightly Build', current Tango + DMD package with DMD 1.033, gdb 6.8 from Debian Testing)? If I set a breakpoint and then start the debugger, I get: ------------------- 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 6.8-debian Child process PID: 3642 ------------------- This looks OK to me so far, but there is no debugger arrow shown. Obviously something happens when I press F7 (Next line), because every time I do, I get messages like ------------------- In _D6dmain24mainUiPPaZi7runMainMFZv () () In _D6dmain24mainUiPPaZi7tryExecMFDFZvZv () () In _D6dmain24mainUiPPaZi6runAllMFZv () () In _D6dmain24mainUiPPaZi7tryExecMFDFZvZv () () ------------------- ... and finally ... ------------------- In main () () In __libc_start_main () (/lib/libc.so.6) Program exited normally. Debugger finished with status 0 ------------------- ... but still no yellow arrow. Any ideas on what is wrong? Best regards and thanks in advance, TimoI don't use gdb but I've heard you need to apply some patches for better D support (like variable and function names demangling etc). Take a look here: http://dsource.org/projects/gdb-patches/browser/downloads/gdb6.8 That's all I can help you with.
Aug 11 2008
Koroskin Denis wrote:I don't use gdb but I've heard you need to apply some patches for better D support (like variable and function names demangling etc). Take a look here: http://dsource.org/projects/gdb-patches/browser/downloads/gdb6.8Hi! Thanks a lot, didn't know about this. I patched and compiled gdb 6.8, but the unfortunately the behaviour is still the same. Best regards, Timo
Aug 11 2008
Timo Gransch wrote:did anybody manage to make the debugger work with the above environment (Codeblocks 8.02 or the current 'Nightly Build', current Tango + DMD package with DMD 1.033, gdb 6.8 from Debian Testing)?If you don't get the same problems when doing the same build/debug from the commandline, it might be a bug where -g is not properly passed... I believe the logic (inherited from C/C++) might only pass -g when compiling which might not be enough. Or, it could be something else. --anders PS. Testing the same thing with GDC would also help isolate the problem.
Aug 13 2008
On Wed, 13 Aug 2008 11:19:42 +0400, Anders F Björklund <afb algonet.se> wrote:Timo Gransch wrote:Yeah, make sure compiler and linker get the "-g" flag. 1) Compiler settings -> Compiler flags -> check "add symbolic debug info [-g]" (and, optionally, "compile in debug code [-debug]) 2) Linker settings -> Other linker options - add "-g".did anybody manage to make the debugger work with the above environment (Codeblocks 8.02 or the current 'Nightly Build', current Tango + DMD package with DMD 1.033, gdb 6.8 from Debian Testing)?If you don't get the same problems when doing the same build/debug from the commandline, it might be a bug where -g is not properly passed... I believe the logic (inherited from C/C++) might only pass -g when compiling which might not be enough. Or, it could be something else. --anders PS. Testing the same thing with GDC would also help isolate the problem.
Aug 13 2008
Denis Koroskin wrote:Yeah, make sure compiler and linker get the "-g" flag. 1) Compiler settings -> Compiler flags -> check "add symbolic debug info [-g]" (and, optionally, "compile in debug code [-debug]) 2) Linker settings -> Other linker options - add "-g".Hi Denis and Anders! I already had -g and -debug checked in the compiler settings. I added -g in the linker options and tried to debug again, but unfortunately it does not make any difference. The funny thing is that the breakpoint I set is nevertheless somehow recognized by gdb. In spite of having no arrow and variable watches, I can obviously step through the lines of the code by pressing F7 and get some output. If I do not set a breakpoint, the debuger rushes through the code and finishes immediately. Thanks for all your help and efforts. Maybe this is rather a topic for the CodeBlocks forum (although there are only very few D programmers there). KR, Timo
Aug 13 2008