Adding a debugger to ros.el

Keywords: #ros #ros2 #emacs #gdb #emacs-gdb
I have brought up the ros.el emacs package a number of times now, as it has become a package that I use multiple times a day. A little while ago, I had the idea to see if I could add a debugger function, to take advantage of the emacs-gdb functionality. The implementation took me down a rabbit hole of learning about how tramp handles remote connections, as well as how gdb links shared librarys.

ROS.el is really nice

Keywords: #ros #ros2 #emacs
In the last post, I mentioned that the ros.el emacs package had been on my radar. I finally got around to giving it a try a few days ago, and it has quickly become a staple of my workflow (Highest praise possible!). I had to add some dependencies in my packages.el: ;; `ros.el' depends on `with-shell-interpreter' among other packages ;; See: https://github.com/DerBeutlin/ros.el/blob/master/Cask (package! with-shell-interpreter) (package! string-inflection) (package! ros :recipe (:host github :repo "DerBeutlin/ros.

Tips for remote development

Keywords: #ros2 #emacs #tramp #ssh
I’ve been developing on robots with Emacs for a few years now, and I thought it may be beneficial for me to do a write-up of some of the tricks I’ve learned. The usefulness of the following won’t be limited to robotics, nor only to those who use Emacs, as I’m sure the frustrations of developing on a remote machine, inside a container are transcendent. Given that I have wound up revisiting the ROS and GDB page a good number of times to jog my memory, I suspect that this topic will be as useful.

Using GDB with ROS 1, a reference

Keywords: #ros #gdb #emacs #debugging
I wanted to write this to act as a quick lookup for anyone who needs it (Mostly me). Almost all of the guides I found mention inserting a launch-prefix into a launch file to launch gdb with the node, but I don’t like doing that. I don’t want to have start gdb from scratch and manually insert the break-points each time I want to debug. That’s goofy. Also, I’d like to use my editor’s built-in debugging tools.