• 4242阅读
  • 8回复

请教:在Android上调试时经常段错误 [复制链接]

上一主题 下一主题
离线fomalhaut
 

只看楼主 倒序阅读 楼主  发表于: 2015-08-20
无论是调试还是运行,都有相当大的概率崩溃。
调试时可以看到是段错误
栈如下图:


请问这是怎么回事?

Qt版本是5.4.0,Android NDK版本是r10d。
离线彩阳

只看该作者 1楼 发表于: 2015-08-20
是SIGSEV还是SIGBUS?
上海Qt开发联盟,热忱地欢迎你的加入!
离线fomalhaut

只看该作者 2楼 发表于: 2015-08-20
回 彩阳 的帖子
彩阳:是SIGSEV还是SIGBUS? (2015-08-20 17:18) 

两种错误都出现过。
最奇怪的是出错是随机的,也有一定概率不出任何错误。
离线彩阳

只看该作者 3楼 发表于: 2015-08-20
SIGBUS的原因是由于Android有些机器是PowerVR的CPU,要求四个字节对齐。
和这篇博客讲得差不多。http://blog.csdn.net/klarclm/article/details/8509552
上海Qt开发联盟,热忱地欢迎你的加入!
离线fomalhaut

只看该作者 4楼 发表于: 2015-08-21
回 彩阳 的帖子
彩阳:SIGBUS的原因是由于Android有些机器是PowerVR的CPU,要求四个字节对齐。
和这篇博客讲得差不多。http://blog.csdn.net/klarclm/article/details/8509552 (2015-08-20 20:23) 

还得请教一下,对于这种调用栈全是问号的情况如何解决?
离线彩阳

只看该作者 5楼 发表于: 2015-08-21
回 fomalhaut 的帖子
fomalhaut:还得请教一下,对于这种调用栈全是问号的情况如何解决? (2015-08-21 07:26) 

全靠经验了。如果能调试的话,就调试一把吧。
上海Qt开发联盟,热忱地欢迎你的加入!
离线fomalhaut

只看该作者 6楼 发表于: 2016-01-16
今天发现引起段错误的线程不是主线程,所以调用栈显示不出来。
段错误的时候主线程在对一个QQuickView的子类执行QWindow::show(),并调用到了QQuickWindow::exposeEvent()。
Qt版本5.5.1,其他同上次。
离线fomalhaut

只看该作者 7楼 发表于: 2016-01-17
这不会是Qt的Bug吧?
离线fomalhaut

只看该作者 8楼 发表于: 2016-01-19
还是找不出问题所在。
快速回复
限100 字节
 
上一个 下一个