Common Problems

Diagnose issues with a UI or embedded integration by using debuggers and issue resolution tooling.

Common Issues

Start existing projects on new computers

Software development best-practice suggests keeping project files in a source management tool like Git or SVN. Sometimes when trying to launch a project for the first time, errors about missing dependancies appear.

You can perform a wipe of caches and dependancies and force a full fresh download for your project by running arc sacrifice in the project folder.

After this completes, try launching the dev environment with arc start.

Dev environment successfully fails to launch

On Windows in particular, there are rare system issues which result in the hot-reload functionality breaking. Symptoms include:

  • The dev sandbox environment appears to compile and launch in the command line, but application windows never render,

  • Attempting to connect the Chrome DevTools manually shows no console or DOM contents,

  • Running arc build creates a working production build,

Incorrectly used stale cached depenencies are often the cause. arc sacrifice should clear the project and system level caches.

We recommend contacting us if this occurs so we can help troubleshoot and improve arc.

UI Debugging

Debugging the UI is pretty easy, integrated development tools provide interactive breakpoint debugging, and performance analysis tooling can help track down intermittent issues.

The docs linked below cover UI side debugging in more detail:

Debugging the tests

Boot mocha with a breakpoint at the start of the test, and the inspector open with mocha --inspect-brk.

Hardware Debugging

You should have access to debugging functionality for your platform (gdb or otherwise). If you are working with Arduino, we recommend running either Electric UI, or some normal serial print statements over a second serial connection, and place debug statements around the problem areas.

We recommend implementing the optional status outputs and callbacks in the embedded codebase, and validating with breakpoints, LED's/IO, or publishing status codes to the UI.

Testing hardware and UI interactions

Electric UI's template and tooling provides end-to-end testing functionality out of the box.

We strongly recommended writing and running integration tests frequently during development to build confidence and gain detailed testing information when troubleshooting.

An article describing e2e tests and usage is on the backburner.

Contact us for this documentation or help getting started.