I have made a chromium binary in debug mode, with debug symbols.
I verified with nm that it does indeed have almost 5 million symbols:
$ file /snap/chromium/x9/usr/lib/chromium-browser/chrome
/snap/chromium/x9/usr/lib/chromium-browser/chrome: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[xxHash]=4d9bbabf9743e724, not stripped
$ nm -an /snap/chromium/x9/usr/lib/chromium-browser/chrome | wc -l
4784374
But when I load it into the debugger, gdb tells me that there are no symbols:
$ gdb -q /snap/chromium/x9/usr/lib/chromium-browser/chrome
Reading symbols from /snap/chromium/x9/usr/lib/chromium-browser/chrome...
(No debugging symbols found in /snap/chromium/x9/usr/lib/chromium-browser/chrome)
When I then set a break on a symbol, it does so without complaining:
(gdb) break vaCreateSurfaces
Breakpoint 1 at 0x127695a4
(gdb)
But then when running, it will not break on it.
Why is gdb so confused about this binary?
OS: Ubuntu 22.10 Kinetic Kudu
gdb: 12.1-3ubuntu1