Каковы "лучшие практики", когда речь идет об отладке дампов ядра с помощью GDB?
В настоящее время я столкнулся с проблемой:
- Релизная версия моего приложения компилируется без флага компилятора '-g'.
- Отладочная версия моего приложения (скомпилированная с помощью '-g') заархивирована (вместе с исходным кодом и копией двоичного файла выпуска).
Недавно, когда пользователь дал мне дамп ядра, я попытался отладить его, используя
gdb --core=./core.pid ./my_app_debug-bin
Ядро было создано my_app_release-bin
. Кажется, между файлом core и двоичным файлом существует какое-то несоответствие.
С другой стороны, если я попытаюсь
gdb --core=./core.pid ./my_app_release-bin
ядро совпадает, но я не могу получить номера строк исходного кода (хотя я получаю имена функций).
Это то, что практикуется? Потому что я чувствую, что чего-то здесь не хватает.