用户态异常信息说明

用户态在运行过程中,可能由于各种原因出现用户态系统异常,异常信息如下所示:

  1. ##################excFrom: User!####################
  2. prefetch_abort fault fsr:0x5, far:0x00000000
  3. Translation fault, section
  4. excType: prefetch abort
  5. processName = shell
  6. processID =3
  7. process aspace =0x01000000->0x3f000000
  8. taskName = shell
  9. taskID =4
  10. task user stack =0x3707d000->0x3717d000
  11. pc =0x0
  12. ulr =0x2000424in/bin/shell --->0x424
  13. usp =0x3717cd60fp=0x3717cd64
  14. R0 =0x1
  15. R1 =0x0
  16. R2 =0x0
  17. R3 =0x1
  18. R4 =0x3717cf58
  19. R5 =0x0
  20. R6 =0x3717cf54
  21. R7 =0x200043c
  22. R8 =0x84
  23. R9 =0x229a7560
  24. R10 =0x0
  25. R11 =0x3717cd64
  26. R12 =0x0
  27. CPSR =0x40000030
  28. *******backtrace begin*******
  29. traceback 0-- lr =0x229123a4 fp =0x0 lr in/lib/libc.so -->0x213a4
  30. PID PPID PGID UID Status CPUUSE CPUUSE10s CPUUSE1s PolicyPriority MTID TaskTotalModePName
  31. 1-110Ready0.00.00.0 RR 28161 user init
  32. 2-120Pend10.110.10.0 RR 0014 kernel KProcess
  33. 3130Running0.00.00.0 RR 2841 user shell
  34. TID PID StatusStackSizeWaterLinePolicyPriority MEMUSE TaskName
  35. 161Ready0x30000x978 RR 310x8b0c init
  36. 02Pend0x10000x1d4 RR 50ResourcesTask
  37. 22Pend0x40000x4ec RR 00Swt_Task
  38. 32Pend0x40000x1d4 RR 10 system_wq
  39. 52Pend0x40000x1fc RR 90SendToSer
  40. 62PendTime0x60000x204 RR 50 tcpip_thread
  41. 72Pend0x30000x1fc RR 50 sdmci_detect
  42. 82Pend0x40000x204 RR 50 USB_GIANT_Task
  43. 92Pend0x40000x204 RR 10 USB_NGIAN_ISOC_Task
  44. 102Pend0x40000x204 RR 20 USB_NGIAN_BULK_Task
  45. 112Pend0x40000x690 RR 50xbb0 USB_EXPLR_Task
  46. 122Pend0x40000x204 RR 50 USB_CXFER_Task
  47. 132Pend0x200000x1e4 RR 30xac20 eth_irq_Task
  48. 142Pend0x40000x1d4 RR 100 jffs2_gc_thread
  49. 152Pend0x20000x1f4 RR 40 hisi_frw
  50. 43Running0x30000x838 RR 310x1100 shell
  51. system memcheck over, all passed!

其中,主要包含如下几方面信息:

  1. 用户态异常基本信息:
  1. prefetch_abort fault fsr:0x5, far:0x00000000
  2. Translation fault, section
  3. excType: prefetch abort
  4. processName = shell
  5. processID =3
  6. process aspace =0x01000000->0x3f000000
  7. taskName = shell
  8. taskID =4
  9. task user stack =0x3707d000->0x3717d000
  1. 寄存器相关信息。
  1. pc =0x0
  2. ulr =0x2000424in/bin/shell --->0x424
  3. usp =0x3717cd60fp=0x3717cd64
  4. R0 =0x1
  5. R1 =0x0
  6. R2 =0x0
  7. R3 =0x1
  8. R4 =0x3717cf58
  9. R5 =0x0
  10. R6 =0x3717cf54
  11. R7 =0x200043c
  12. R8 =0x84
  13. R9 =0x229a7560
  14. R10 =0x0
  15. R11 =0x3717cd64
  16. R12 =0x0
  17. CPSR =0x40000030
  1. 调用栈信息。
  1. *******backtrace begin*******
  2. traceback 0-- lr =0x229123a4 fp =0x0 lr in/lib/libc.so -->0x213a4
  1. 进程线程基本信息。
  1. PID PPID PGID UID Status CPUUSE CPUUSE10s CPUUSE1s PolicyPriority MTID TaskTotalModePName
  2. 1-110Ready0.00.00.0 RR 28161 user init
  3. 2-120Pend10.110.10.0 RR 0014 kernel KProcess
  4. 3130Running0.00.00.0 RR 2841 user shell
  5. TID PID StatusStackSizeWaterLinePolicyPriority MEMUSE TaskName
  6. 161Ready0x30000x978 RR 310x8b0c init
  7. 02Pend0x10000x1d4 RR 50ResourcesTask
  8. 22Pend0x40000x4ec RR 00Swt_Task
  9. 32Pend0x40000x1d4 RR 10 system_wq
  10. 52Pend0x40000x1fc RR 90SendToSer
  11. 62PendTime0x60000x204 RR 50 tcpip_thread
  12. 72Pend0x30000x1fc RR 50 sdmci_detect
  13. 82Pend0x40000x204 RR 50 USB_GIANT_Task
  14. 92Pend0x40000x204 RR 10 USB_NGIAN_ISOC_Task
  15. 102Pend0x40000x204 RR 20 USB_NGIAN_BULK_Task
  16. 112Pend0x40000x690 RR 50xbb0 USB_EXPLR_Task
  17. 122Pend0x40000x204 RR 50 USB_CXFER_Task
  18. 132Pend0x200000x1e4 RR 30xac20 eth_irq_Task
  19. 142Pend0x40000x1d4 RR 100 jffs2_gc_thread
  20. 152Pend0x20000x1f4 RR 40 hisi_frw
  21. 43Running0x30000x838 RR 310x1100 shell
  22. system memcheck over, all passed!

可以根据以上信息,分析用户态异常的具体原因。