Ошибка сегментации после установки

0

Я знаю, что есть журнал вопросов с этой темой, однако я не могу найти ответ на мою проблему. У меня есть программа, которую я создаю на Linux-VM без проблем. Я могу запустить программу. Я создал файл установки для этой программы. В этой монтажной структуре я могу найти свою программу сборки. В этом месте все работает без проблем.

Если я установлю свою программу на другой Linux-VM, я получу ошибку "Ошибка Segmantation (core dumped)". Эта ошибка возникает также при запуске моей программы из временной папки, где мой исходный проект скопирован для установки. Он содержит те же файлы, что и на первой виртуальной машине в структуре установки.

Единственный ответ, который я нашел до сих пор, - это проблема с указателем, указывающим на неправильный мир памяти. Но я не могу поверить, что это так, потому что моя программа отлично работает на первой виртуальной машине. Может ли кто-нибудь помочь мне, где я должен начать искать?

  • 0
    Вы должны начать с нескольких отпечатков в вашей программе, чтобы найти строку, где она терпит неудачу. Или еще лучше, если вы знаете, как это сделать: используйте какой-нибудь инструмент отладки, такой как тот, который поставляется с netbeans, чтобы следить за выполнением вашей программы построчно.
  • 0
    Или, что еще лучше, скомпилируйте отладочную сборку и запустите ее в отладчике.
Показать ещё 7 комментариев
Теги:
memory

1 ответ

1
Лучший ответ

попробуйте отладить его или использовать strace:

strace./nameOfYourBinary

(sudo apt-get install strace, если у вас его нет)

это должно помочь найти то, что не так с вашей программой. Возможно, VM, в которой программа не работает, не имеет достаточной памяти (или что-то еще) для запуска вашей программы. Проверьте также все свои malloc, если они есть в вашем коде.

  • 0
    Спасибо, я использовал strace в ВМ, который вышел из строя, и сравнил его со strace в ВМ, который работает нормально. Теперь я знаю, что есть проблема с файлами лицензий.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню