Как в Release конфигурации в Linux узнать конкретное место падения программы?
===============================================================================

 Подскажите, можно ли как-то на Linux по release конфигурации и core файлу узнать место, где в программе произошла ошибка (конкретно, номер ассемблерной инструкции, которая привела к ошибке)?  
  

При использовании gdb не понятно в каком конкретно месте упала программа:  
  

Program terminated with signal SIGSEGV, Segmentation fault.  

#0 0x00005633bd506050 in ?? () 

> При использовании gdb не понятно в каком конкретно месте упала программа:  
> 
> #0 0x00005633bd506050 in ?? ()

  
  

Так вот же адрес: 0x00005633bd506050  
  

> Как в Release конфигурации

  

Не нужно убирать опцию `-g` из релизной сборки. После сборки можно скопировать получившийся ELF, отрезать от него отладочные символы и запускать его. Когда что-то упадёт, можно будет загрузить core dump с ELFом, в котором отладочные символы присутствуют, чтобы не гадать, где этот адрес. 

 А что Вам даст конкретная асмовая инструкция? Нарушение защиты памяти, программа обратилась по адресу, который ей не принадлежит. Выполнялась скорее всего функция из libc. Если отладочной версии нет, можно попробовать strace/dtrace и предположить, где падает. 

 Номер/адрес ассемблерной инструкции, как уже заметили, тебе и показывается.  

Но, чтобы получить номер строки в исходном коде, нужна отладочная информация.  

Как, опять же, заметили, можно загрузить дамп релизной сборки с отладочным бинарём. Возникает вопрос "где его взять?" Потенциально, если одни и те же исходники собирать одним и тем же компилятором с одними и теми же настройками в том же окружении, что и релизный (что позволяет делать сервер сборок, например...), но с включённой отладочной инфой, то с точки зрения логики, бинарь должен получиться идентичный в части адресов инструкций. Его-то и можно использовать.  

Я так делал для Windows-приложений. Но не думаю, что разница ОС что-либо решает...