Raspberry Pi: How to debug Dart command line applications in IntelliJ

How to debug with gdb on command line – see Raspberry Pi: gdb debugging, command line.

How to debug with gdb in Eclipse – see Raspberry Pi: gdb debugging in Eclipse.

Environment
  • Ubuntu 18.04 LTS
  • IntelliJ IDEA Community 2018.3
  • Raspberry Pi 3 Model B
IntelliJ

Create Dart Remote Debug configuration for your Dart application:

Ubuntu terminal

Copy your application and open an ssh session to Raspberry Pi :

$ scp -r dartapp/ pi@192.168.0.60:/home/pi
$ ssh pi@192.168.0.60
SSH session on Raspberry Pi
$ cd ~/dartapp
$ pub get
Resolving dependencies... (1.9s)
Got dependencies!
$ dart --enable-vm-service:5858/0.0.0.0 --pause_isolates_on_start bin/main.dart 
Observatory listening on http://0.0.0.0:5858/
intellij

Now you can start debugging your application in IntelliJ.

Eclipse: slow start – speed up

Environment
  • Ubuntu 16.04 LTS
  • Eclipse Neon.3 Release 4.6.3 (Eclipse IDE for C/C++ Developers)

A couple of advices from Stackoverflow work quite well – startup time reduced from tens of seconds to less than 10 seconds and HDD became much more quiet during startup.

Eclipse preferences

In Window > Preferences > General > Startup and Shutdown disable Plug-ins (if you do not use them) activated on startup:

  • Eclipse Automated Error Reporting
  • Marketplace Client
  • Mylyn Tasks UI
  • Mylyn Team UI
  • RSE UI
  • UI Responsiveness Monitoring
eclipse.ini

Add at the bottom the bold text:

-Xms256m
-Xmx1024m
-Xverify:none

The verify option enables/disables validation of all the .class files that Eclipse loads on startup.

Android Studio and IntelliJ IDEA

The verify option seems to reduce startup time of Android Studio and IntelliJ IDEA too.

Android Studio
$ cp ${ANDROID_STUDIO_DIR}/bin/*.vmoptions ~/.AndroidStudio1.5/config

Then add the verify option to the copied files as described above.

IntelliJ IDEA
$ cp ${INTELLIJ_IDEA_DIR}/bin/*.vmoptions ~/.IdeaIC2017.1/config

Then add the verify option to the copied files as described above.