• 4621阅读
  • 7回复

求各位帮帮忙!qtopia core 应用程序出错 [复制链接]

上一主题 下一主题
离线youbug
 
只看楼主 倒序阅读 楼主  发表于: 2008-04-14
— 本帖被 XChinux 执行加亮操作(2008-04-14) —

  我一切都按照网上的说法安装了qtopia core 4.2.2 编译都通过了,将应用程序下载到板子上提示缺少
libQtGui.so.4等文件我也都下载进实验箱了用的是pxa255的板子但是库链接好过后程序运行出错不知道怎么回事。难道是bufferframe出错,还是下载用的工具tftp不能对qtopia core 4.2.2应用程序下载!

出错的内容如下:
pc: [<00707772>]  lr:[<40933db0>] Not tainted
sp:bffff93c ip:40b75fc4 fb:00000000
r10:40942b64  r9:  后面省略到 r0: 40942200
Flags: nzCv IRQs on FIQs on Mode USER_32 SEgment user
Control: 397F Table : A39F8000 DAC:00000015
Segmentation fault

已经花了一个多星期了,希望各位给我指导一下!
离线owenbbkp

只看该作者 1楼 发表于: 2008-04-14
这是个“Segmentation fault”引起的core dump,光从你给出的"pc: [<00707772>] "看不出对应的导致core dump代码
有可能是你的应用程序引起的,详细说一下你的运行步骤和错误信息吧
离线youbug
只看该作者 2楼 发表于: 2008-04-15
首先是在虚拟机上面编译程序了,qmake -project
                                                            qmake
                                                            make
然后下载到板子上,用的是tftp:
              $tftp
            >connect 202.195.168.8
          >binary
          >get hello
          >quit
        $chmod +x hello
然后就出现了上面的错误了!!
编译的时候没有什么错误,以前下载一般的c应用程序时tftp没有用binary参数也出现
相似错误,用了binary就好了,但是qt的应用程序用的binary还是出错不知道怎么回事啊???
离线youbug
只看该作者 3楼 发表于: 2008-04-15
是下载后运行出现错误!!
$ ./hello -qws
输出
pc: [<00707772>]  lr:[<40933db0>] Not tainted
sp:bffff93c ip:40b75fc4 fb:00000000
r10:40942b64  r9:  后面省略到 r0: 40942200
Flags: nzCv IRQs on FIQs on Mode USER_32 SEgment user
Control: 397F Table : A39F8000 DAC:00000015
Segmentation fault
$
上面是就是所有的错误
离线youbug
只看该作者 4楼 发表于: 2008-04-15
我的库函数也是通过tftp下载进去的,是不是这样出的问题啊?应该重新建立文件系统(里面加上库函数)?现在都不知道怎么弄了,没有办法往下做了。
离线mzl626

只看该作者 5楼 发表于: 2008-04-15
你怎么不把应用直接放在文件系统中试试哪?如果可行,说明下载的时候除问题了嘛,这样不就可以慢慢定位到问题了?
离线owenbbkp

只看该作者 6楼 发表于: 2008-04-15
几点建议:
1。用你的交叉编译环境编译一个C语言写的HelloWorld,通过tftp下载之后在板子上运行试试。如果有问题,说明是你的环境还没搭好,这与Qtopia Core无关
2。如果怀疑tftp问题,可以尝试NFS方式,调试起来比tftp方便
3。Core Dump是可以分析的。如果你的开发板环境支持ulimit命令的话,执行"ulimit -c umlimited"之后再运行./hello -qws,默认会在当前目录生成名为core.<PID>的文件,你可以用gdb(需要交叉编译版本)来分析这个core文件,看看出错的位置在哪里
4。如果你的交叉编译工具链中有addr2line工具(比如名为arm-linux-addr2line),可以试试"arm-linux-addr2line -e ./hello 00707772",或者用objdump反汇编之后来分析pc: [<00707772>] 及  lr:[<40933db0>]

上面这些方法的详细步骤可以google之
离线youbug
只看该作者 7楼 发表于: 2008-04-16
好的,我试试谢谢各位!
快速回复
限100 字节
 
上一个 下一个