Я использую следующий псевдоним для него: alias ds='du -x --all --max-depth=1 . | sort -n'
Это печатает размеры всех файлов и 1-е подкаталоги уровня текущего dir.
Вообще говоря базовый файл является дампом всей памяти, используемой процессом плюс состояние регистров ЦП. Так, в целом информацией, которую можно получить из базового файла, является то же, что Вы могли добраться путем присоединения отладчика к процессу непосредственно перед тем, как это отказало.
От Дампа ядра страницы Wikipedia:
''В современных подобных Unix операционных системах администраторы и программисты могут считать файлы дампа ядра, пользующиеся библиотекой GNU Binutils Binary File Descriptor (BFD), [...] Эта библиотека снабдит необработанными данными для данного адреса в регионе памяти от дампа ядра; это ничего не знает о переменных или структурах данных в том регионе памяти, таким образом, приложение, пользующееся библиотекой для чтения дамп ядра, должно будет определить адреса переменных и определить расположение структур данных само, например, при помощи таблицы символов для отладки перенесения программы''.
Таким образом, ответ на Ваш первый вопрос: нет, файлы дампа ядра мало полезны, если Вы снимаете символы от исполняемого файла.
Однако символы просто поднимают некоторое дисковое пространство и иначе не влияют на производительность: можно скомпилировать с максимальной оптимизацией и
-g
одновременно.
Так как базовый файл является просто дампом памяти и состояния процессора, когда Ваше разрушенное приложение, общее предупреждение об оптимизации и отладке применяется: отладчик только найдет информацию (например, значение переменной или вызов функции в следе стека), если это не было оптимизировано.