Set up debugger for TDM-GCC-64

CodeLite installation/troubleshooting forum
Fred
CodeLite Enthusiast
Posts: 43
Joined: Mon Jul 02, 2012 12:53 pm
Genuine User: Yes
IDE Question: C++
Contact:

Set up debugger for TDM-GCC-64

Post by Fred »

Hello,
I installed TDM-GCC-64 and added the toolchain to the CodeLite compilers list.
CodeLite 5.4 on Windows 8.1 64bit.
Building works without problems.
But when I start debugging (F5), I get an error message:

Debugger ended with the following error string:
"No executable specified, use 'target exec'."

What should I do to get the 64bit gdb of TDM-GCC-64 working?

TIA,
Fred
User avatar
eranif
CodeLite Plugin
Posts: 6375
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: Set up debugger for TDM-GCC-64

Post by eranif »

Please provide the information as requested on the HOW TO POST thread

Eran
Make sure you have read the HOW TO POST thread
Fred
CodeLite Enthusiast
Posts: 43
Joined: Mon Jul 02, 2012 12:53 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: Set up debugger for TDM-GCC-64

Post by Fred »

Hello Eran,
thank you for your quick reply!

I activated full debugger logging.
I cannot access the debugger output tab to post it here, because when the error message box is open, I cannot change the tab to the output tab. And when I close the error message box with the error message, the debugger window with its tabs closes and I cannot see the output.

TDM-GCC-64 versions:

C:\TDM-GCC-64\bin>x86_64-w64-mingw32-g++.exe -v
Using built-in specs.
COLLECT_GCC=x86_64-w64-mingw32-g++.exe
COLLECT_LTO_WRAPPER=c:/tdm-gcc-64/bin/../libexec/gcc/x86_64-w64-mingw32/4.8.1/lt
o-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../../../src/gcc-4.8.1/configure --build=x86_64-w64-mingw32 --e
nable-targets=all --enable-languages=ada,c,c++,fortran,lto,objc,obj-c++ --enable
-libgomp --enable-lto --enable-graphite --enable-cxx-flags=-DWINPTHREAD_STATIC -
-enable-libstdcxx-debug --enable-threads=posix --enable-version-specific-runtime
-libs --enable-fully-dynamic-string --enable-libstdcxx-threads --enable-libstdcx
x-time --with-gnu-ld --disable-werror --disable-nls --disable-win32-registry --p
refix=/mingw64tdm --with-local-prefix=/mingw64tdm --with-pkgversion=tdm64-2 --wi
th-bugurl=http://tdm-gcc.tdragon.net/bugs
Thread model: posix
gcc version 4.8.1 (tdm64-2)

C:\TDM-GCC-64\bin>gdb.exe
GNU gdb (GDB) 7.6.1
...
This GDB was configured as "x86_64-w64-mingw32".

OS: Windows 8.1
CodeLite 5.4, not self compiled

Thank you,
Fred
User avatar
eranif
CodeLite Plugin
Posts: 6375
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: Set up debugger for TDM-GCC-64

Post by eranif »

Go to Perspective->debug.layout

This will bring up the debug layout again

Eran
Make sure you have read the HOW TO POST thread
Fred
CodeLite Enthusiast
Posts: 43
Joined: Mon Jul 02, 2012 12:53 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: Set up debugger for TDM-GCC-64

Post by Fred »

Thanks, Eran.

When the error message box is open, the debug output is:

Code: Select all

DEBUG>>00000009^error,msg="No executable specified, use 'target exec'."
This is the same message as the message box shows.

When I close the message box, the debug output changes to

Code: Select all

No executable specified, use 'target exec'.
Same message.

If I understand it correctly, it means, that the name of the debuggee is not sent to the debugger.
The debuggee path does not contain any unusual chars:
C:\tests\CodeLite\simple64\Debug\simple64.exe

Is it possible to use CodeLite (32bit I assume) with a 64bit debugger and debuggee (set breakpoints etc), at all?

TIA,
Fred

EDIT:
I found this posting:
http://stackoverflow.com/questions/1830 ... exec-error
I did not use MSVC, but I think, it may be that the wrong gdb.exe is invoked.
After renaming TDM-GCC-64 gdb.exe to gdbA.exe I got the same error messages as above. This means for me, that another gdb.exe has been invoked, which cannot work with my 64bit debuggee.

Then I set the gdb original name again and renamed the MinGW-4.8.1 gdb.exe.
Now I can debug my 64bit debuggee. Breakpoints etc. work.

But not the MinGW-4.8.1 debuggees (error in debug output: unknown signal), I have to use MinGW-4.8.1 gdb.exe for them.

So how can I tell CodeLite to use the debugger of TDM-GCC-64, when this toolchain is selected?
And the debugger of MinGW-4.8.1, when MinGW-4.8.1 toolchain is selected?

In the Build settings / Compiler I set the PATH environment variable to
C:\TDM-GCC-64\bin;%PATH%
but this seems not to select the gdb of this toolchain.
Last edited by Fred on Tue Feb 11, 2014 11:56 am, edited 1 time in total.
User avatar
eranif
CodeLite Plugin
Posts: 6375
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: Set up debugger for TDM-GCC-64

Post by eranif »

Fred wrote:When the error message box is open, the debug output is:
CODE: SELECT ALL
DEBUG>>00000009^error,msg="No executable specified, use 'target exec'."
This is definitely not the entire log... (where is the invocation line? commands from 00000 - 00009) etc

Please paste here the _entire_ log output, do not truncate the logs.
I can't stress this enough...

Eran
Make sure you have read the HOW TO POST thread
Fred
CodeLite Enthusiast
Posts: 43
Joined: Mon Jul 02, 2012 12:53 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: Set up debugger for TDM-GCC-64

Post by Fred »

This actually is the entire log.
EDIT:
No I was wrong.
Here is it:

Code: Select all

Using gdbinit file: C:\Users\Friedel\AppData\Local\Temp\codelite_gdbinit.txt
Current working dir: C:\tests\CodeLite\simple64
Launching gdb from : ./Debug
Starting debugger  : gdb --command="C:\Users\Friedel\AppData\Local\Temp\codelite_gdbinit.txt" --interpreter=mi "./simple64"
Debug session started successfully!
GNU gdb (GDB) 7.6.1
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.  Type "show copying"\nand "show warranty" for details.
This GDB was configured as "mingw32".\nFor bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Debug session ended
Using gdbinit file: C:\Users\Friedel\AppData\Local\Temp\codelite_gdbinit.txt
Current working dir: C:\tests\CodeLite\simple64
Launching gdb from : ./Debug
Starting debugger  : gdb --command="C:\Users\Friedel\AppData\Local\Temp\codelite_gdbinit.txt" --interpreter=mi "./simple64"
DEBUG>>set  new-console on
DEBUG>>set unwindonsignal on
DEBUG>>set breakpoint pending on
DEBUG>>set width 0
DEBUG>>set height 0
DEBUG>>set print elements 200
DEBUG>>python
DEBUG>>import sys
DEBUG>>sys.path.insert(0, 'C:\Users\Friedel\AppData\Roaming\CodeLite\gdb_printers')
DEBUG>>from libstdcxx.v6.printers import register_libstdcxx_printers
DEBUG>>register_libstdcxx_printers (None)
DEBUG>>from qt4 import register_qt4_printers
DEBUG>>register_qt4_printers (None)
DEBUG>>from wx import register_wx_printers
DEBUG>>register_wx_printers (None)
DEBUG>>end
DEBUG>>00000004-break-insert -f -t main
Debug session started successfully!
DEBUG>>00000005-exec-arguments 
DEBUG>>00000006-exec-run 
DEBUG>>=thread-group-added,id="i1"
=thread-group-added,id="i1"
DEBUG>>~"GNU gdb (GDB) 7.6.1\n"
GNU gdb (GDB) 7.6.1
DEBUG>>~"Copyright (C) 2013 Free Software Foundation, Inc.\n"
Copyright (C) 2013 Free Software Foundation, Inc.
DEBUG>>~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.  Type \"show copying\"\nand \"show warranty\" for details.\n"
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.  Type "show copying"\nand "show warranty" for details.
DEBUG>>~"This GDB was configured as \"mingw32\".\nFor bug reporting instructions, please see:\n"
This GDB was configured as "mingw32".\nFor bug reporting instructions, please see:
DEBUG>>~"<http://www.gnu.org/software/gdb/bugs/>...\n"
<http://www.gnu.org/software/gdb/bugs/>...
DEBUG>>&"\"C:\\tests\\CodeLite\\simple64\\Debug/./simple64.exe\": not in executable format: File format not recognized\n"
DEBUG>>&"C:\\Users\\Friedel\\AppData\\Local\\Temp\\codelite_gdbinit.txt:13: Error in sourced command file:\n"
DEBUG>>&"Python scripting is not supported in this copy of GDB.\n"
DEBUG>>&"set  new-console on\n"
DEBUG>>=cmd-param-changed,param="new-console",value="on"
=cmd-param-changed,param="new-console",value="on"
DEBUG>>^done
DEBUG>>&"set unwindonsignal on\n"
DEBUG>>=cmd-param-changed,param="unwindonsignal",value="on"
=cmd-param-changed,param="unwindonsignal",value="on"
DEBUG>>^done
DEBUG>>&"set breakpoint pending on\n"
DEBUG>>=cmd-param-changed,param="breakpoint pending",value="on"
=cmd-param-changed,param="breakpoint pending",value="on"
DEBUG>>^done
DEBUG>>&"set width 0\n"
DEBUG>>=cmd-param-changed,param="width",value="4294967295"
=cmd-param-changed,param="width",value="4294967295"
DEBUG>>^done
DEBUG>>&"set height 0\n"
DEBUG>>^done
DEBUG>>&"set print elements 200\n"
DEBUG>>^done
DEBUG>>&"python\n"
DEBUG>>&"Python scripting is not supported in this copy of GDB.\n"
DEBUG>>^error,msg="Python scripting is not supported in this copy of GDB."
^error,msg="Python scripting is not supported in this copy of GDB."
DEBUG>>&"No symbol table is loaded.  Use the \"file\" command.\n"
DEBUG>>00000004^done,bkpt={number="1",type="breakpoint",disp="del",enabled="y",addr="<PENDING>",pending="main",times="0",original-location="main"}
Storing internal breakpoint ID=1
DEBUG>>=cmd-param-changed,param="args",value=""
=cmd-param-changed,param="args",value=""
DEBUG>>00000005^done
DEBUG>>00000006^error,msg="No executable specified, use `target exec'."
Debug session ended
No executable specified, use `target exec'.
Imo this is not the TDM gdb.exe, but MinGWs.
The TDM says:

C:\TDM-GCC-64\bin>gdb.exe
GNU gdb (GDB) 7.6.1
...
This GDB was configured as "x86_64-w64-mingw32".
Post Reply