What are the meaning of the items in the “alignment trap” error message?

转载 2015年11月18日 17:08:54

During my debugging, I got the following error message.

Alignment trap: my_main (29858) PC=0x00170ad8 Instr=0xe5960008 Address=0x00f28daa FSR 0x0f3

I've looked around a bit and found a lot of information on this real-time embedded website. So now I know what PC and Instr refers to, but I still haven't found anything about the Address and FSRpart.

What is FSR? What address does Address refer to? According to proc/xxxx/maps that address is even outside the scope of my program. Does anybody know what the last two items mean? I need information on these to solve this alignment problem.

MAP output

00008000-001fe000 r-xp 00000000 03:02 16204      /home/myuser/my_main
00205000-00248000 rw-p 001f5000 03:02 16204      /home/myuser/my_main
00248000-00299000 rwxp 00248000 00:00 0
40000000-40018000 r-xp 00000000 03:01 2095       /lib/ld-2.3.3.so
40018000-4001b000 rw-p 40018000 00:00 0
4001f000-40020000 r--p 00017000 03:01 2095       /lib/ld-2.3.3.so
40020000-40021000 rw-p 00018000 03:01 2095       /lib/ld-2.3.3.so
40021000-40023000 r-xp 00000000 03:01 15724      /usr/lib/libem7.so.1.0.1
40023000-40029000 ---p 00002000 03:01 15724      /usr/lib/libem7.so.1.0.1
40029000-4002b000 rw-p 00000000 03:01 15724      /usr/lib/libem7.so.1.0.1
4002b000-40031000 r-xp 00000000 03:01 2057       /lib/tls/librt-2.3.3.so
40031000-40033000 ---p 00006000 03:01 2057       /lib/tls/librt-2.3.3.so
40033000-40038000 rw-p 00000000 03:01 2057       /lib/tls/librt-2.3.3.so
40038000-40039000 r--p 00005000 03:01 2057       /lib/tls/librt-2.3.3.so
40039000-4003a000 rw-p 00006000 03:01 2057       /lib/tls/librt-2.3.3.so
4003a000-4004a000 r-xp 00000000 03:01 2060       /lib/tls/libpthread-2.3.3.so
4004a000-40051000 rw-p 00008000 03:01 2060       /lib/tls/libpthread-2.3.3.so
40051000-40052000 r--p 0000f000 03:01 2060       /lib/tls/libpthread-2.3.3.so
40052000-40053000 rw-p 00010000 03:01 2060       /lib/tls/libpthread-2.3.3.so
40053000-40055000 rw-p 40053000 00:00 0
40055000-4010e000 r-xp 00000000 03:01 15703      /usr/lib/libstdc++.so.6.0.3
4010e000-40115000 ---p 000b9000 03:01 15703      /usr/lib/libstdc++.so.6.0.3
40115000-40119000 rw-p 000b8000 03:01 15703      /usr/lib/libstdc++.so.6.0.3
40119000-4011f000 rw-p 40119000 00:00 0
4011f000-401b7000 r-xp 00000000 03:01 2076       /lib/tls/libm-2.3.3.so
401b7000-401be000 rw-p 00090000 03:01 2076       /lib/tls/libm-2.3.3.so
401be000-401bf000 r--p 00097000 03:01 2076       /lib/tls/libm-2.3.3.so
401bf000-401c0000 rw-p 00098000 03:01 2076       /lib/tls/libm-2.3.3.so
401c0000-401c8000 r-xp 00000000 03:01 2005       /lib/libgcc_s.so.1
401c8000-401c9000 rw-p 00008000 03:01 2005       /lib/libgcc_s.so.1
401c9000-402cb000 r-xp 00000000 03:01 2078       /lib/tls/libc-2.3.3.so
402cb000-402d1000 ---p 00102000 03:01 2078       /lib/tls/libc-2.3.3.so
402d1000-402d2000 rw-p 00100000 03:01 2078       /lib/tls/libc-2.3.3.so
402d2000-402d4000 r--p 00101000 03:01 2078       /lib/tls/libc-2.3.3.so
402d4000-402d6000 rw-p 00103000 03:01 2078       /lib/tls/libc-2.3.3.so
402d6000-402d8000 rw-p 402d6000 00:00 0
402d8000-402e5000 rw-s 00000000 00:07 0          /SYSV12345678 (deleted)
402e5000-402e6000 ---p 402e5000 00:00 0
402e6000-402f5000 rwxp 402e6000 00:00 0
403c1000-4049d000 rw-p 403c1000 00:00 0
7efeb000-7f000000 rwxp 7efeb000 00:00 0

Alignment trap

“Alignment trap”:遇到字节对齐的问题,直译意思为“对齐陷阱”。  Linux下对Alignment trap的处理有下面几种方式:(cat /proc/cpu/alignment)  ...
  • chunlovenan
  • chunlovenan
  • 2015年07月20日 11:24
  • 887

Alignment trap的问题

在arm linux下,碰到如下错误。百度了一下,you Alignment trap: not handling instruction e1923f9f at []...
  • Dable_cn
  • Dable_cn
  • 2014年05月06日 10:24
  • 4025

ARM Linux中的非对齐内存访问(Alignment trap警告的原因)

介绍ARM Linux中进行编程时非对齐内存地址访问时需要注意的问题,以及Alignment trap警告的原因。...
  • jasonchen_gbd
  • jasonchen_gbd
  • 2016年06月04日 22:12
  • 4300

What Is The Meaning of 0.0.0.0 In Routing Table?

What Is The Meaning of 0.0.0.0 In Routing Table? by NIX CRAFT on JULY 16, 2009 · 1 COMMENT· L...
  • u012436149
  • u012436149
  • 2014年03月15日 23:30
  • 477

Alignment trap 解决方法

前几天交叉编译crtmpserver到arm9下。编译通过,但是运行的时候,总是提示Alignment trap,但是并不影响程序的运行。这依然很令人不爽,因为不知道是什么原因引起的,这就像一颗定时炸...
  • allen19881119
  • allen19881119
  • 2017年02月08日 09:52
  • 165

android中的Message类中的age1,age2和what有什么区别

age1,age2 : 如果你仅仅存储整型数值的话,可以用Message的对象.arg1 = 一个Integer来使用 what:自定义的消息内容,可以为一切数据类型,对象也包括的,如: Perso...
  • a734797702
  • a734797702
  • 2012年06月05日 14:40
  • 1713

Alignment trap: in ARM architecture .

http://gcc.gnu.org/ml/gcc-help/2009-09/msg00134.html 最近工作过程中遇到这个问题: Algnment trap: .... 从下午3...
  • qianguozheng
  • qianguozheng
  • 2012年11月13日 21:20
  • 1582

POD_STL跨平台移植时碰到的一些问题

我很希望POD_STL成为一套不使用任何预编译宏隔离就能兼容多种主流编译器的代码。这个目标很有挑战性,需要每行代码严格符合C++标准,并且考虑各种编译器的不同实现特点。事实上,我还没见过哪套STL代码...
  • qq_21895115
  • qq_21895115
  • 2015年05月12日 10:51
  • 353

linux内核中断、异常

中断: 可屏蔽中断:所有有I/O设备请求的中断都是,被屏蔽的中断会一直被CPU 忽略,直到屏蔽位被重置。 不可屏蔽中断:非常危险的事件引起(如硬件失败)。 异常: 处理器产生的(Fau...
  • bullbat
  • bullbat
  • 2011年12月23日 10:23
  • 4412

trap 基本介绍

本文对trap做了简单的介绍,对网上搜到的知识点进行搬运,可能存在错误疏漏,后续会不断的补充修正。用途说明trap是一个shell内建命令,它用来在脚本中指定信号如何处理。比如,按Ctrl+C会使脚本...
  • nmglwy
  • nmglwy
  • 2016年12月23日 07:30
  • 288
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:What are the meaning of the items in the “alignment trap” error message?
举报原因:
原因补充:

(最多只允许输入30个字)