ThrowTheSwitch / Ceedling

Ruby-based unit testing and build system for C projects
http://throwtheswitch.org
Other
586 stars 246 forks source link

Eclipse fails to run debug with ceedling #303

Open Miv13 opened 6 years ago

Miv13 commented 6 years ago

I have a problem with debugging my tests via Eclipse. I try to setup everything as in tutorial on your website (http://www.throwtheswitch.org/eclipse/), but if I set ceedling (in my case - C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/ceedling-0.28.2/bin/ceedling) as the C/C++ Application and run it, I get:

Error in final launch sequence Failed to execute MI command: -file-exec-and-symbols C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/ceedling-0.28.2/bin/ceedling Error message from debugger back end: "C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/ceedling-0.28.2/bin/ceedling": not in executable format: File format not recognized "C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/ceedling-0.28.2/bin/ceedling": not in executable format: File format not recognized

It might be a problem on Eclipse's side (and probably my fault somehow), but have you ever encountered something like this? What could be the cause? I couldn't find literally anything that would seem like a similar case on the internet and I'd be very grateful for any suggestions on what the problem might be.

I'm using Eclipse 4.7.0 Oxygen (I think) on Windows 10.

EDIT: It probably doesn't matter, but just in case: if I point Eclipse to ceedling-generated output file for test runner, everything works (except for the fact that I can only run one test file at a time).

mvandervoord commented 6 years ago

It might be as simple as creating a bat or cmd file which wraps your ceedling calls... or by focusing on running Ruby as your exe and passing ceedling as the first argument to it.

Miv13 commented 6 years ago

Nevermind, this is obviously a problem with Eclipse. Not only does it not recognise .bat or .cmd files, but even tries to tell me that ruby.exe is "not in executable format: File format not recognized"... Any idea what that might be? --'

Anyway, thanks for trying to help me.

mvandervoord commented 6 years ago

Wow. Um... I have no idea what to say about that. Sorry. :(

MomoDevs commented 5 years ago

Update to this issue, wrapping the ceedling calls in a cmd file and setting that file as the C/C++ Application worked perfectly for me. I did this by just selecting the cmd file that comes with the temp_sensor example project available with the ceedling install to test it. For reference, I'm running Eclipse Neon.3 Release (4.6.3). Build id: 20170314-1500

almost-linear commented 4 years ago

Seem to be having the same issue/error with eclipse and ceedling. I can't seem to find this cmd file in the examples folder. Can you please post the file you used? Thanks

MomoDevs commented 4 years ago

Seem to be having the same issue/error with eclipse and ceedling. I can't seem to find this cmd file in the examples folder. Can you please post the file you used? Thanks

Sure! The cmd file automatically installs with the temp_sensor example project when you run the "ceedling example temp_sensor" command (through powershell, for instance). I didn't make any modifications to get it working for me, just copied and pasted it into my own project and pointed eclipse at that file as the application to run. Unfortunately, I can't attach the exact file on here since cmd file aren't supported attachments, but here's a txt of the contents. It's just a single line invoking the ceedling app, this basically wraps that call into a format eclipse on windows is more friendly towards. Save this as a .cmd and give it a shot, let me know how it goes. Good luck! ceedling.txt

almost-linear commented 4 years ago

Your file was of major help. I must have spent at least half a day on this trying stuff and looking online. For completeness and in case anyone else has the same error, I was getting "Error starting process. Cannot run program "C:\Ruby26-x64\lib\ruby\gems\2.6.0\gems\ceedling-0.29.0\bin\ceedling": Launching failed". Your script solved it though. Thanks again!

PS: I am on Win10, using Atollic TrueSTUDIO for STM32, Built on Eclipse Neon.1a. Version: 9.3.0 Build id: 20190212-0734