二层交换机,从vxworks5。4移植到5。5,同事费了好多劲终于能把交换机调起来
现在用脚本在cli下建vlan   1-1000时,telnet功能崩溃,只能通过串口连接
下面是出错的log
machine   check
Exception   next   instruction   address:   0x0171d75c
Machine   Status   Register:   0x00029200
Condition   Register:   0x20000044
Bus   Error   Address   Register:   0x00000000
Bus   Error   Syndrome   Register:   0x00000000
Task:   0x7ce01b8   "TrMn "
theCaller   =       0x62a7d8:   theFunction   =     0x1718ac4   ()
theCaller   =     0x1718c44:   theFunction   =     0x171ae80   ()
theCaller   =     0x171aedc:   theFunction   =     0x171d74c   ()
theCaller   =       0x6d8478:   theFunction   =       0x62a7d8   ()
这种machine check exception中断一般有什么引起啊?
next   instruction   address:   0x0171d75c。   什么是异常下调指令的地址啊?内存里找不到这个地址啊?
打印出的那个task我们可以找到,但是找不出什么错误来
下面打印出的theCaller在我们编译源代码生成镜像时的产生的一个ram.map(里面是镜像在内存中的分布)里找不到,但是前三个Function的入口地址却可以查到
但是最后一行的Caller和function都找不到,难道是内核调用内核的?上面这段看不懂啊,哪位高手可以帮忙解释一下啊?这些错误是内核给打印出来的吗?
还有这种错误一般怎么调比较好啊?我都无从入手,给的几个函数入口地址我也找不到什么错误
															
                         
					
				1楼
							不知道你用的什么CPU,但很有必要查一下MSR=0x00029200的时候到底是报的什么错误.问题应该出在地址为0x171d74c的函数中.根据以往调试经验,出现MSR错误的最常见情况有两种,其一:数据错误,通常为对齐问题,其二:特殊指令执行与机器状态不符.且根据你的情况看,第一种的可能性比较大,因为你的代码原来是可以跑的,只是因为换了操作系统和编译器,导致在优化和对齐上有变化. 如果能进一步跟踪提供更为详细的错误,会对分析有帮助.
最新人才
				
				
				
				
				
				
				
				
				
				
			
 
	
				 
		     广东 广州
		    广东 广州 
		     
		     
		     
		     
		     
		     
		     
		    