Sloeber - how to debug?

Has anyone succeeded to use the eclipse debugging environment with Sloeber?

I have tried to install the GNU ARM Eclipse plugin additionally to Sloeber. It installs and compiles my sketch, but for some reason the debugger can't use the result.

My goal is to use GDB and QEMU without a hardware debugger, but at the moment I don't know what's the best way to do it.

I can do hardware debugging with the zero and the ESP8266 with Sloeber (without additional hardware). For the zero I use the launch configuration provided by the GNU ARM Eclipse plugin. I did not try with QEMU. But from my experience everything has to be 100% ok or it fails. Best regards jantje

Hi Jantje,

thank's for the reply.

If debugging with the GNU ARM Eclipse plugin and Sloeber works for you, it probably means that I've messed up some configuration stuff.

I'm going to try it again when I've gathered enough patience for it. :disappointed_relieved:

I made a video on debugging. I explain both esp8266 and the zero. The demo is with ESP8266 but the zero is pretty much the same. If I get to it I'll make a zero video as well. Best regards Jantje

Update on this topic:

Jantje has added a great feature to his plugin which allows pure software debugging (without the Arduino hardware involved).

Just watch this video:

This is a major breakthrough for all serious Arduino users as the original Arduino IDE doesn’t support debugging at all (except for this serial monitor stuff which has severe limitations)

Thank you Jantje and I hope you’ll add the Due to your supported hardware platforms, too. :wink:

Thanbks for the nice words. Does the due have debug capability?

Does the due have debug capability?

I think so. At least the chip has a JTAG interface which can be used for debugging and the DUE board features a corresponding connector.

But for starters it would be enough to do the non hardware debugging on the local machine. Basically I think that I could just use the avr_local definition that you provided, but when I remember right then some variable definitions are different between the ARM based cores and the AVR ones (words have a different size or something like this).

I made a local for the avr. Not for sam. The local debugging is to test your non hardware code. So as long as the hardware code compiles you are mostly ok.

Yes I understood that. I was just wondering if this

could lead to problems when I try to debug SAM code with an AVR_Local.

My problem is that I have to debug a program which does some variable juggling. But I hope it'll work when I replace the word variable definitions by uint32_t.

When doing cross-platform testing it is mutch better to work with variable declarations that are the same on all plaforms. So indeed uint32_t is safer than word.

I thought by following your youtube, , Debug your arduino code on your local machine, using blink example but, changing all necessary configuration files and paths for local debugging Arduino Due code, perhap it would compile and work, it did compile with no errors, it did not require adding #include "arduino.h", see first compile in video. Guess all paths and other configurations correct?

Next "Create a debug configuration" steps 1. project -> properties 2. Arduino -> Manage Configurations 3. New -> Create New Configuration -> Name: localdebug entered 4. Configuration: localdebug selected 5. Platform Folder: C:/unitTest/git/hardware/jantje/sam_local 6. Board: Arduino Due selected 7. Debug or unit test: Debug selected , click OK at this point error message

Reason: Internal Error:


modified sam_local to match avr_local files but with sam information, including boards.txt, platform.txt, programmers.txt, files, paths, file changes/additions from normal avr files made to sam files as appropriate, think all compiler settings/paths are correct for arm since it compiled ok, etc.

Would the sloeber-ide-v4_1 settings for arm (arduino due) other than those in the video need to be changed to make local debugging possible?

Would be very helpful to know what is different in avr_local from normal information for setting up debugging avr, with this information should be able to make arm debugging on local machine work, any info and help would be greatly appreciated.

I'm currently working on upfating the whole process. I'll publish a new video when done.