GNU 通用公共许可证错误?
我开发了一个程序,它利用串行编程从串行端口读取和写入,并将值放入Ubuntu环境中的数据库中。最近,我使用 boost lib 添加了一些功能来过滤读取函数等。但是当我运行程序时,比如 15-20 分钟后,我遇到了分段错误。 当我检查我在程序中定义的日志文件时,我在其中看到了以下几行。我不知道这是怎么回事。有人可以指导我吗?
GNU 通用公共许可证的副本以及此
程序;如果没有,请写信给免费 软件基金会,公司,59 Temple Place, Suite 330, 波士顿, MA ","NU 通用公共许可证
与此计划一起;如果没有,写 到自由软件
基金会有限公司,坦普尔广场 59 号, 330 号套房,波士顿,马萨诸塞州 ","e
与此计划一起;如果没有,写 到自由软件
基金会有限公司,坦普尔广场 59 号, 330 号套房,波士顿,马萨诸塞州“,”拉姆;如果不, 写入自由软件
基金会有限公司,坦普尔广场 59 号, 330 号套房,波士顿,马萨诸塞州 ","e 免费 软件基金会,公司, 59 Temple Place, Suite 330, 波士顿, MA “,”tion, Inc., 59 Temple Place, 330 号套房,波士顿,马萨诸塞州“,”ace,套房 330,波士顿,马萨诸塞州“,”马萨诸塞州“,”“,”“,”
","集线器-臂")
谢谢和问候, 萨姆·普拉特。
I have developed a program which makes use of serial programming to read and write from serial port and put the values in databases in Ubuntu environment. Lately, I have added few functionality using boost lib to filter the read function etc. But when I run the program , say after 15-20 mins , I got segmentation fault .
When I check the log file which I have defined in my program I got following lines in it. I have no clue what is all about. Can someone guide me on that.
a copy of the GNU General Public License along with this
program; if not, write to the Free
Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA
","NU General Public License
along with this program; if not, write
to the Free Software
Foundation, Inc., 59 Temple Place,
Suite 330, Boston, MA ","e
along with this program; if not, write
to the Free Software
Foundation, Inc., 59 Temple Place,
Suite 330, Boston, MA ","ram; if not,
write to the 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 ")
Thanks and regards,
SamPrat.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
简单的回答。你的程序出现了段错误。这意味着它不再工作并且可能表现得很糟糕。
在这种情况下,它开始打印出一个字符串(可能没有正确终止),并且继续打印出程序内存。并且您可能已经包含了很长的 GNU GPL 许可证文本。出现段错误的程序打印其中一些字符串的可能性很高。
检查您的内存分配、字符串等。您正面临与内存相关的错误。
Easy answer. Your program segfaulted. That means its is no longer working and it can behave badly.
In this case it started to print out a string (probably not properly terminated) and it was continuing to print out the program memory. And you have probably included the GNU GPL license text which is long. The possibility that segfaulted program will print some of these strings is high.
Check your memory allocations, strings etc. You are facing a memory related bug.
我猜,
您正在打印/使用未终止的字符串。当你打印它时,它会一直打印每个字符,直到到达“/0”或SEGFAULT:),GPL许可证文本恰好位于正确的位置。
My guess,
you have are printing/using an unterminated string. and when you come to print it, well it keeps printing every char until it reaches '/0' or SEGFAULT :), the GPL license text just happens to be in the right place.