Qt程序在Linux下运行出现段错误的问题

Marcelxx 2014-07-08 04:22:39
程序是在windows下编译的,然后将整个项目复制到Linux平台上,使用make生成。程序在我的Linux机子上能正常运行,但是在其他的Linux机子上出现了段错误,出现的时机是在程序窗口显示的时候,即在w.show()这个地方出现了段错误。
第一是在编译的机子上能正常运行,第二是在其他机子上在窗口show()的时候出现了段错误。
这是什么原因啊?感觉不是什么内存溢出,非法访问的问题!
使用strace跟踪了下,感觉问题出现在这一句,
bind(9, {sa_family=AF_INET, sin_port=htons(985), sin_addr=inet_addr("0.0.0.0")}, 16) = -1 EACCES (Permission denied)
但是不知道原因,也不知道怎么处理!!!
...全文
775 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ying_593254979 2014-07-20
  • 打赏
  • 举报
回复
通过backtrace查看一下就行了。
Marcelxx 2014-07-15
  • 打赏
  • 举报
回复
引用 4 楼 nanbeiyc 的回复:
Permission denied是没有执行权限吧,chmod 755 filename
完全不知道是怎么回事了,又用strace看了下程序的执行,又没有出现Permission denied的问题了!!!!!!
nanbeiyc 2014-07-13
  • 打赏
  • 举报
回复
Permission denied是没有执行权限吧,chmod 755 filename
Marcelxx 2014-07-09
  • 打赏
  • 举报
回复
引用 1 楼 micropentium6 的回复:
you may have to have root permission in order to bind on port 985 since it's under 1024...
另外,程序没有使用端口985,是在strace中出现了使用985的情况,我别的机子上strace中的信息也没有出现使用985端口的地方。
Marcelxx 2014-07-09
  • 打赏
  • 举报
回复
引用 1 楼 micropentium6 的回复:
you may have to have root permission in order to bind on port 985 since it's under 1024...
这个是不是会导致程序无法启动!!!!!!!!!!!
  • 打赏
  • 举报
回复
you may have to have root permission in order to bind on port 985 since it's under 1024...

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧