If CLion can connect to a gdb server , you could run your node in a GDB server on the PI and connect to it from your development machine. (If you want to do this from within a launch file, http://wiki.ros.org/roslaunch/Tutoria... provides a lot of examples that could be adapted to run a node under gdb server)
You also need to have some way to synchronize source and compiled code between your Pi and your development machine.
- If you have a very stable network (wired), you could use a network filesystem like NFS, Samba or sshfs, and mount the Pi's home directory or workspace from your development machine. NFS can lock up all access to the networked filesystem if the server disappears, so I do not recommend trying it over wifi or another connection that is not always connected. Samda or sshfs may work tolerably over Wifi.
- I typically work over wifi which is not always connected and can be unstable, so I have additional git remotes in my git configuration on both my development machine and robot, which allows me to do a direct git pull between my computers, without needing an internet connection.
- I do all of my builds on my Pi, and completely avoid trying to synchronize binaries between different systems. There are some guides on how to set up a cross compiler, but I've generally had a hard time understanding all of the settings and getting them to work successfully.
I typically log in my Pi over SSH, use vim
to edit my code and compile with command-line tools, so I don't have much direct experience with more complex IDEs.