我开发了一个程序,它利用串行编程从串口读写,并将值放在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通用公共许可证
以及这个计划;如果没有,写 自由软件
基金会,公司,59 Temple Place, Suite 330,Boston,MA“,”e
以及这个计划;如果没有,写 自由软件
基金会,公司,59 Temple Place, Suite 330,Boston,MA“,”ram;如果不, 写信给自由软件
基金会,公司,59 Temple Place, Suite 330,Boston,MA“,”e free Software Foundation,Inc。, 59 Temple Place,Suite 330,Boston,MA “,”,公司,59 Temple Place, Suite 330,Boston,MA“,”ace,Suite 330,Boston,MA“,”MA“,”“,”“,”
“,”HUB-ARM“)
谢谢和问候, SamPrat。
答案 0 :(得分:6)
简单的回答。你的程序是segfaulted。这意味着它不再有效,而且表现得很糟糕。
在这种情况下,它开始打印出一个字符串(可能没有正确终止),并继续打印出程序存储器。你可能已经包含了很长的GNU GPL许可文本。 segfaulted程序打印其中一些字符串的可能性很高。
检查您的内存分配,字符串等。您正面临与内存相关的错误。
答案 1 :(得分:2)
我的猜测,
您正在打印/使用未终止的字符串。当你来打印它时,它会不断打印每个字符,直到达到'/ 0'或SEGFAULT :),GPL许可证文本恰好在正确的位置。