For debugging OpenGL under GNU/Linux, there are three tools that are very similar to each other. They can capture the stream of OpenGL commands, and let you examine the state at each command. These are the tools:
Renderdoc
Renderdoc probably has the easiest interface, and is quite powerful in its capabilities. It lets you view both input and output meshes from your vertex shader, for instance. I do hit on what seems to be a bug in renderdoc if I use uniform buffers, though.
Intel Graphics Performance Analyzer
Intel GPA comes with a graphics frame analyzer. The capturing and analysis of a frame is done with two different commands, though. To capture, run gpa-monitor to launch your app and press Ctrl-Shift-C to capture a frame. Then quit the app and monitor, and run frame-analyzer.
NVidia Nsight Graphics
To capture with NVidia Nsight Graphics, do:
$ cd NVIDIA-Nsight-Graphics-2019.2/host/linux-desktop-nomad-x64/ $ ./nv-nsight-gfx
Choose "Quick Launch" and select "Capture for Live Analysis" in the nsight UI when your app is running.