Hi,
Most likely, your project uses custom non-trivial logic for placing the library symbols, and VisualGDB cannot automatically detect where the symbols are.
In order to resolve it, please first go through this tutorial and make sure you understand how to check whether an ELF file contains debug symbols. Then, please inspect your project and find out the exact location of the .so file you are trying to debug. Make sure it contains debugging symbols as per the tutorial. Double-check that the symbols mention the file you are trying to debug. If not, you would need to adjust the build settings to make sure the symbols are not stripped.
Once you confirm that the .so file contains symbols, please inspect the gdb log for the -gdb-set solib-search-path command. VisualGDB uses it to point gdb to the directories with the symbol files that are derived from the CMake code model. If it doesn’t contain the expected directory, you can override it by adding your own set solib-search-path command via VisualGDB Project Properties -> Additional GDB Commands.
In general, VisualGDB computes the solib-search-path from the directories of the target’s references. If it’s missing a particular library, explicitly referencing it from the executable should solve it. You can double-check the references reported by CMake, as well as the exact library locations in the target-XXX.json files inside the build\<subdir>\.cmake directory.