sun gdb "Bus Error(coredump)"

lilistudy 2006-02-27 06:19:36
系统:
SunOS 5.9 Generic_118558-06 sun4u sparc SUNW,Sun-Fire
源文件:
#include <iostream>
using namespace std;

int main()
{
int a = 1;
int b = 2;
int c = 0;
c = a + b;
return c;
}
编译命令:
CC -g test.cpp
生成 a.out

调试: gdb a.out

提示:
This GDB was configured as "sparc-sun-solaris2.9"...
Bus Error(coredump)

然后就退到命令行

我想应该是安装时设置有问题,各位高手有没有遇到过这种情况
指点一二.
谢谢



...全文
239 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
alaiyeshi 2006-03-06
  • 打赏
  • 举报
回复

还是编译安装的好点
个人感觉,至少gdb不会乱来
lilistudy 2006-03-04
  • 打赏
  • 举报
回复
是别人安装的,应该不是编译的
估计要重装
但没有权限,比较郁闷

只能休息时上网,没及时答复,不好意思
fierygnu 2006-03-04
  • 打赏
  • 举报
回复
装一个自己用的。
lilistudy 2006-02-28
  • 打赏
  • 举报
回复
查资料,
访问非对齐内存会分发SIGBUS
不知gdb怎么会有这种问题
lilistudy 2006-02-28
  • 打赏
  • 举报
回复
使用truss -o /tmp/tt gdb a.out
tt最后几行:
brk(0x002EE160) = 0
brk(0x002F0160) = 0
open("/usr/share/lib/terminfo//v/vt100", O_RDONLY) = 5
read(5, "1A01 ,\0 %\0 !\08A01 !02".., 4096) = 1493
close(5) = 0
ioctl(1, TCGETA, 0xFFBFE114) = 0
ioctl(1, TCGETS, 0x002EE414) = 0
ioctl(1, TIOCGWINSZ, 0xFFBFE188) = 0
ioctl(1, TCSETSW, 0x002EE438) = 0
ioctl(1, TCSETSW, 0x002EE414) = 0
ioctl(0, TIOCGWINSZ, 0xFFBFF3E0) = 0
Incurred fault #5, FLTACCESS %pc = 0xFEFC6EA0
siginfo: SIGBUS BUS_ADRALN addr=0xFFBFFE3A
Received signal #10, SIGBUS [default]
siginfo: SIGBUS BUS_ADRALN addr=0xFFBFFE3A

gdb 调试:

gdb gdb core

(gdb) where
#0 0xfefc79c0 in t_splay () from /usr/lib/libc.so.1
#1 0xfefc782c in t_delete () from /usr/lib/libc.so.1
#2 0xfefc747c in realfree () from /usr/lib/libc.so.1
#3 0xfefc7cec in cleanfree () from /usr/lib/libc.so.1
fierygnu 2006-02-28
  • 打赏
  • 举报
回复
gdb是自己编译还是下载的?
fierygnu 2006-02-27
  • 打赏
  • 举报
回复
或者直接用gdb看看生成的core。
fierygnu 2006-02-27
  • 打赏
  • 举报
回复
没进入gdb界面?用truss -o /tmp/tt gdb a.out,看看/tmp/tt错误出在什么地方。

23,116

社区成员

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

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