Debug app in snap?

I’m trying to snap an application that is build on the JUCE framework. It is a GUI app that makes DSP on sound from microphone or other sound input.

snapcraft goes well and makes a snap.

But when I

sudo snap install my_app_8.6.5.git_amd64.snap --devmode

and then

my_app

then my_app starts and then quits/crashes immediately.

If I do

which my_app

then I get

/snap/bin/my_app

But if I try to

gdb /snap/bin/my_app

then gdb claims /snap/bin/my_app does not have any debug symbols even though my_app is make(d)/compiled with Debug.

How then can I debug my /snap/bin/my_app ?

– Eigil

Great, Thanks for the reply !

Now, when I run

snap run --gdbserver my_app

it writes (numbers are different)

or use your favorite gdb frontend and connect to :33303

But if in Code::Blocks I select

Debug --> Attach to process...

and type in the number (33303 here) Code::Blocks writes

Attaching to program with pid: 33303 Debugger name and version: GNU gdb (Ubuntu 10.l-2ubuntu2) 10.1.90.20210411-git Attaching failed: pt race: No such process. Attaching to process 33303 Debugger finished with status 0

So that doesn’t work.

What is the best GUI to use with snap gdbserver ?

– Eigil

Unfortunately GDB isn’t something I use regularly so I can’t really answer what frontend might help best, however for the issue you’re having, I think you may be getting confused between attaching to a PID and connecting to a TCP port. Just for testing purposes I’d see if the regular GDB executable can connect, e.g:

gdb -ex="target remote 127.0.0.1:33303"

Hopefully someone else wiser in the ways of GDB might be able to assist you. I imagine codeblocks might have a way to connect to a GDB server via TCP, but I haven’t ever used it so I couldn’t be specific there, sorry.

I found gdbgui which looks promising.