ОШИБКА Стандартной общественной лицензии GNU?

Я разработал программу, которая использует последовательное программирование для чтения и записи из последовательного порта и помещения значений в базы данных в среде Ubuntu. В последнее время я добавил несколько функций, используя boost lib для фильтрации функции чтения и т. Д. Но когда я запускаю программу, скажем, через 15-20 минут, я получаю ошибку сегментации. Когда я проверяю файл журнала, который я определил в своей программе, я получаю в нем следующие строки. Я понятия не имею, что это такое. Может ли кто-нибудь помочь мне в этом.

a copy of the GNU General Public License          along with this

программа; если нет, напишите в Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA», «Стандартная общественная лицензия NU
вместе с этой программой; если нет, напишите в Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ","e
вместе с этой программой; если нет, напишите в Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ","ram; если нет, напишите в Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA "," e Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA "," tion, Inc., 59 Temple Place, Suite 330, Boston, MA ","ace, Suite 330, Boston, MA ","MA ","","","
","HUB-ARM")

Спасибо и с уважением, SamPrat.


person samprat    schedule 17.01.2011    source источник
comment
Я собирался переформатировать этот вопрос, пока не понял, что даже не знаю наверняка, что является частью вопроса, а что просто ошибочным форматированием цитаты.   -  person Frerich Raabe    schedule 17.01.2011
comment
Вы... хотите, чтобы мы рассказали вам, что не так с программой, основываясь на куче ошибочных строк журнала?   -  person Ignacio Vazquez-Abrams    schedule 17.01.2011
comment
Кажется, вы нарушили GPL ;P   -  person leppie    schedule 17.01.2011
comment
@ Игнасио Васкес-Абрамс, привет, Абрамс, спасибо за быстрый ответ, я просто не понимаю, есть ли какая-либо связь ошибки сегментации с сообщением, которое я получил в файлах журнала, или нет?   -  person samprat    schedule 17.01.2011
comment
Ваша система заражена GPL.   -  person Yakov Galka    schedule 17.01.2011
comment
Чтобы найти расположение плохого указателя, попробуйте запустить его с помощью отладчика: gdb name-of-program, затем run. В случае сбоя введите bt, чтобы получить обратную трассировку.   -  person maxelost    schedule 17.01.2011


Ответы (2)


Легкий ответ. Ошибка вашей программы. Это означает, что он больше не работает и может вести себя плохо.

В этом случае он начал печатать строку (вероятно, неправильно завершённую) и продолжал печатать память программы. И вы, вероятно, включили длинный текст лицензии GNU GPL. Вероятность того, что программа с ошибкой сегментации напечатает некоторые из этих строк, высока.

Проверьте распределение памяти, строки и т. д. Вы столкнулись с ошибкой, связанной с памятью.

person lzap    schedule 17.01.2011
comment
Используйте программу valgrind, чтобы отследить его. Установите пакет valgrind, а затем запустите $ valgrind your_program, чтобы увидеть ошибку. - person lzap; 18.01.2011
comment
Спасибо, Изап, за решение. Я не видел упомянутой выше ошибки, но если я запустил valgrind и обнаружил, что mysql_init и mysql_close имеют несколько проблем. Спасибо за помощь - person samprat; 19.01.2011

Мое предположение,

у вас есть печать/использование незавершенной строки. и когда вы приходите, чтобы напечатать его, ну, он продолжает печатать каждый символ, пока не достигнет «/ 0» или SEGFAULT :), текст лицензии GPL просто оказался в нужном месте.

person hhafez    schedule 17.01.2011
comment
кажется, это может быть проблемой, я постараюсь продолжить расследование и сообщу вам, ребята, об этом. Спасибо - person samprat; 17.01.2011