GDB not breaking on SIGSEGV-Collection of common programming errors

So i assume that the gdb client is able to connect to gdbserver and you are able to put the break point on the running process right?

If all the above steps are successful then you should put the break point before the instruction which crashes, lets say if you dont know where is it crashing then i would say once the application is crashed, the core will be generated, take that core from the board. Then compile the source code again with debug option using -g option(if binaries are stripped) and do the offline ananlysis of core. something like below

gdb binary-name core_file

Then once you get gdb prompt ,give below commands

gdb thread apply all bt

The above command will give you the complete backtrace of all the threads, remember that binaries should not be stripped and the proper path of all the source code and shared lib should be available.

you can switch between threads using below command on gdb prompt

gdb thread thread_number

If the core file is not getting generated on the board then try below command on board before executing the application

ulimit -c unlimited