VSCode's C++ plugin supports both gdb and lldb (at least on macOS). As for what to learn--I'd learn GDB. Pretty much every architecture on the planet has a GDB port.
Which would you recommend I start with as a newcomer to the low-level debugging world - gdb or lldb? I have some experience debugging assembly in x86 real mode (yep, my class was outdated!).
I have little experience with both, but the developers of LLDB have a goal of making more informative error messages. This was successful enough that GDB devs were compelled to mimic this behavior, making their error reporting more accessible. As far as I know, LLDB still has the advantage in this regard.
You must be confusing LLDB/GDB with Clang/GCC. LLDB and GDB are debuggers, they generally do not produce many error messages. Clang has/had better error messages than GCC.