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
Set up debugger for TDM-GCC-64
-
- CodeLite Enthusiast
- Posts: 43
- Joined: Mon Jul 02, 2012 12:53 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
- 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
Make sure you have read the HOW TO POST thread
-
- 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
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
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
- 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
Go to Perspective->debug.layout
This will bring up the debug layout again
Eran
This will bring up the debug layout again
Eran
Make sure you have read the HOW TO POST thread
-
- 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
Thanks, Eran.
When the error message box is open, the debug output is:
This is the same message as the message box shows.
When I close the message box, the debug output changes to
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.
When the error message box is open, the debug output is:
Code: Select all
DEBUG>>00000009^error,msg="No executable specified, use 'target exec'."
When I close the message box, the debug output changes to
Code: Select all
No executable specified, use 'target exec'.
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.
- 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
This is definitely not the entire log... (where is the invocation line? commands from 00000 - 00009) etcFred 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'."
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
-
- 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
This actually is the entire log.
EDIT:
No I was wrong.
Here is it:
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".
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'.
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".