I am trying to run Ardour in GDB to help debug a plugin. (If it matters, see this.)
I could run it quite a few times, including yesterday, but now it fails.
I tried to run it once today. It worked, it opened the window to choose a file. I created a new session and then realized I had not manually initialized jack, so Ardour showed me its own window to do it. For the sake of consistency (since I’m trying to help debugging), I closed Ardour without starting jack, started jack (via Cadence, as I usually do), but now it crashes and shows no window. To see what I get, check: https://pastebin.com/ww4AjDaJ
Any help would be greatly appreciated.
This is very hard to provide real help with. Some systems make it very easy to use gdb, and some do not. Sometimes, it works some days and not others.
In this particular case, about the only thing you can do is to tell gdb to ignore the signals being sent using:
gdb) handle SIGNUM ignore nostop noprint
In this case, SIGNUM is 32.
Also, easier to debug things (and even just Ardour in general) using the ALSA backend if possible, rather than JACK.
…or even better, yet: Ardour’s “Dummy” backend (that’s non-realtime, and the dummy process callback waits when gdb breaks…)
For official builds like the one referenced, edit
~/.config/ardour5/config (while ardour is not running) and set
<Option name="hide-dummy-backend" value="0"/>
Thanks Paul and Robin! I could run GDB with the dummy backend.