VxWorks中tRootTask中的调试异常



使用VxWorks A653 v2.5.0.2,我在启动期间在tRootTask中生成了一个异常:

data storage
Exception current instruction address: 0x50000120
Machine Status Register: 0x0000fb30
Data Exception Address Register: 0x00000008
Integer Exception Register XER: 0x00000000
Condition Register: 0x40000088
Exception Syndrome Register: 0x01000000
Partition Domain ID: 0x007539a0
Task: 0x521f5920 "tRootTask"

tRootTask确实生成了许多其他内核任务,还为用户分区创建了一个任务。但是用户分区中用户任务的入口点似乎从未运行过(printf((语句未命中(。异常发生后,可以附加调试器,但tRootTask本身会被异常删除。如果我在异常发生后访问shell,尝试显示0x50000000包含的内容将失败,就好像它是未映射的内存一样。这可能是异常的根本原因,但它无法访问的原因尚不清楚。

因此,我正在寻找一种方法来调试异常发生的原因。我是这个OS.itself 的新手

在链接器映射中查找"异常当前指令地址:0x50000120";

或者如果外壳具有";lkup";->lkup 0x50000120

应该给出抛出异常的最近的全局函数
数据异常地址寄存器:0x00000008看起来像零页面访问,但您需要解密";异常综合症登记簿";在PowerPC手册中查看它是否是正确的条件代码?

"tRootTask";是上下文中的第一个线程,所以这是某种失败的启动代码。但现在还为时过早,您可能需要一个JTAG调试器来获取断点

最新更新