当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [问题]skyeye下运行sqlite3错误,Illegal instruction
帖子发表于 : 2008-08-09 11:19 

注册: 2008-05-07 17:22
帖子: 13
送出感谢: 0 次
接收感谢: 0 次
如题,我用的交叉编译工具是arm-linux-gcc-3.4.1
移植了内核linux-2.6.14,编译了skyeye-1.2.4_Rel,交叉编译了sqlite-3.6.1, 3.6.0, 3.5.9等诸多版本,
在skyeye下运行sqlite3,然后在sqlite的命令行下运行任何SQL语句均报错:Illegal instruction。跳出了sqlite命令行,跳出到skyeye的arm-linux的shell下。
我不知道是sqlite的问题,还是skyeye的问题。
无法在arm-linux下成功运行sqlite,我的项目就无法继续进行了,请大家帮忙啊。

skyeye下运行sqlite3的结果

/tmp/work/4.1.1-2.3.2/sqlite3/bin $ ./sqlite3
SQLite version 3.6.1
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
Illegal instruction
/tmp/work/4.1.1-2.3.2/sqlite3/bin $


最后由 asdfbbs 编辑于 2008-08-12 8:40,总共编辑了 2 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-08-09 20:58 

注册: 2008-05-07 17:22
帖子: 13
送出感谢: 0 次
接收感谢: 0 次
怎么没有人回答呢,我忙活了一天,用crosstool-0.43构建了一个交叉编译工具,gcc-4.1.1-glibc-2.3.2,重新交叉编译了sqlite3,还是不行,交叉编译工具、sqlite、skyeye全都换过了,都不行,该怎么办啊。


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-08-10 8:35 

注册: 2008-05-07 17:22
帖子: 13
送出感谢: 0 次
接收感谢: 0 次
还是没有人回答啊,我在想,会不会是移植的linux内核的问题,我移植的是2.6.14,我是参照http://blog.chinaunix.net/u/25764/showart_620897.html中移植linux内核的部分移植的。我猜想是不是内核缺少什么东西呢?俺是新手,搞不清楚”Illegal instruction“这个提示会因为什么出现。用gdb调试skyeye下的sqlite3对我来说也是不可能的事,还是请高人帮忙啊。


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-08-12 8:40 

注册: 2008-05-07 17:22
帖子: 13
送出感谢: 0 次
接收感谢: 0 次
没办法,我开始尝试gdb调试sqlite3,由于本人刚刚接触linux及其编程,还是搞不定,现将调试记录写出来,希望有人能指点一下。
调试sqlite3过程:
shell.c 1523行,执行.tables命令会直到这里
shell.c 1527行 opendb 到跳 955 行
shell.c 1529行 sqlite3_get_table 跳到 table.c 121行 gdb提示“Cannot find bounds of current function”无法单步调试
将断点设置在 shell.c:1551行后,错误出现,说明错误就是在1529行调用函数sqlite3_get_table过程中出现的。
sqlite3_get_table函数中142行调用了sqlite3_malloc,148行调用了sqlite3_exec,对这两个函数设置断点后,程序未停在断点处,而是直接出错,因此怀疑是否在142行调用sqlite3_malloc之前就出了错,但在这之前只有一些简单的赋值语句,不知为何会出错。由于这里不能单步,所以不知道具体在哪句出错了。
设置 sqlite3_exec 函数为断点时,运行.tables命令未到断点处就出错,运行“select * from sqlite_master;”语句则运行到断点处,再继续时才出错。
注:在gdb里只能看到shell.c代码,table.c及其它源码看不到,编译sqlite3的makefile文件中gcc是有参数-g的。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译