Skip to main content

Though Majenko his answer is correct there are some other options.

As to the real hardware debugging as stated by majenko I would say:

  1. Install and use a real IDE, such as Atmel Studio or the arduino eclipse plugin called sloeber (I'm author), and
  2. Use a full hardware debugger or hardware that has it on board like the Arduio zero or hardware using other debugging technology like the ESP8266 that allows USB debugging

An other debugging option from a completely different category is to organize your code so that decision logic (hardware independent) and action (hardware dependent ) are completely separated.
Then

Then compile your sketch as a local program and debug the "decision logic" on your local machine*machine. This method does not allow for "hardware debugging". This method also enables unit testing.

*NoteNote that your local machine is probably a 32 or 64 bitter and most arduino'sArduino's are 8 bitters which will result in differences in data types which is an extra attention point when using this method.

Though Majenko his answer is correct there are some other options.

As to the real hardware debugging as stated by majenko I would say:

  1. Install and use a real IDE, such as Atmel Studio or the arduino eclipse plugin called sloeber (I'm author), and
  2. Use a full hardware debugger or hardware that has it on board like the Arduio zero or hardware using other debugging technology like the ESP8266 that allows USB debugging

An other debugging option from a completely different category is to organize your code so that decision logic (hardware independent) and action (hardware dependent ) are completely separated.
Then compile your sketch as a local program and debug the "decision logic" on your local machine*. This method does not allow for "hardware debugging". This method also enables unit testing.

*Note that your local machine is probably a 32 or 64 bitter and most arduino's are 8 bitters which will result in differences in data types which is an extra attention point when using this method.

Though Majenko his answer is correct there are some other options.

As to the real hardware debugging as stated by majenko I would say:

  1. Install and use a real IDE, such as Atmel Studio or the arduino eclipse plugin called sloeber (I'm author), and
  2. Use a full hardware debugger or hardware that has it on board like the Arduio zero or hardware using other debugging technology like the ESP8266 that allows USB debugging

An other debugging option from a completely different category is to organize your code so that decision logic (hardware independent) and action (hardware dependent ) are completely separated.

Then compile your sketch as a local program and debug the "decision logic" on your local machine. This method does not allow for "hardware debugging". This method also enables unit testing.

Note that your local machine is probably a 32 or 64 bitter and most Arduino's are 8 bitters which will result in differences in data types which is an extra attention point when using this method.

Source Link
jantje
  • 1.4k
  • 1
  • 8
  • 16

Though Majenko his answer is correct there are some other options.

As to the real hardware debugging as stated by majenko I would say:

  1. Install and use a real IDE, such as Atmel Studio or the arduino eclipse plugin called sloeber (I'm author), and
  2. Use a full hardware debugger or hardware that has it on board like the Arduio zero or hardware using other debugging technology like the ESP8266 that allows USB debugging

An other debugging option from a completely different category is to organize your code so that decision logic (hardware independent) and action (hardware dependent ) are completely separated.
Then compile your sketch as a local program and debug the "decision logic" on your local machine*. This method does not allow for "hardware debugging". This method also enables unit testing.

*Note that your local machine is probably a 32 or 64 bitter and most arduino's are 8 bitters which will result in differences in data types which is an extra attention point when using this method.