LINUX.ORG.RU

Отобразить файлы и номера строк в ffmpeg, при запуске через valgrind.

 , , , ,


1

1

Доброго времени суток!

Есть новый фильтр, написан, как и всё остальное на C, добавлен в MakeFile и allfilters. Зависимости внесены, собирается, запускается, отрабатывает корректно. Но проблема в том, что после своего завершения он консоль пишет, что наступает seg fault. valgrind говрит, что где-то что-то не так, но у него в выводе вместо файлов только ffmpeg и всё, вместо функций - ???.

valgrind --dsymutil=yes --track-origins=yes ./ffmpeg ...

Запускаю так, как удалось найти в гугле - всё равно нет именования функций, на которых происходит что-то не то. Написано ещё, что нужно собирать с флагом -g, добавил его в --extra-cflags='-g' - ноль результата.

Хочется найти, что не нравится и чему именно. Понаставил везде проверок, где есть выделение памяти, на то, что она не выделилась - глухо. Всё освобождается, что выделилось.

--extra-cflags='-g'

Линкеру флаг тоже нужен, ну и ещё чтобы strip не вызывался. Может у ffmpeg есть что-то вроде --enable-developer.

xaizek ★★★★★
()
Ответ на: комментарий от deep-purple

Да, помогло. Теперь valgrind явно показывает, с какой строки вызов не смог прочитать какой-то там байт, и где оно таки падает.

./configure --extra-cflags='-g' --extra-ldflags='-g' --disable-stripping

И запускать с valgrind с параметрами:

valgrind --dsymutil=yes --track-origins=yes ./ffmpeg ...

Спасибо! Пошёл смотреть, что там ему не нравиться, теперь понятно где.

PearlyDragon
() автор топика
Ответ на: комментарий от PearlyDragon

--dsymutil=yes
linux

--dsymutil=no|yes [yes]
    This option is only relevant when running Valgrind on Mac OS X.

Т.е. оно и так включено и имеет смысл только на маках, следовательно можно не указывать.

xaizek ★★★★★
()
Ответ на: комментарий от PearlyDragon

Хм, интересно, Tumbleweed обновился и теперь всё в вопросиках снова, хотя до обновления работало нормально. Сконфигурировал по новой ffmpeg, пересобрал - всё равно в вопросиках всё. Что могло поменять обновление? Я же вроде бы собираю конкретный пакет из конкретных исходников, информация о том, что где там лежит должна быть в них, и не должно быть зависимостей от чего-то внешнего... На мой взгляд.

PearlyDragon
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.