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