ESP8266:Прошивки/Arduino/Стек и его расшифровка

Материал из Онлайн справочника
Перейти к: навигация, поиск

Перевод: Максим Кузьмин (Cubewriter)
Перевел 1871 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Ambox content.png Черновик


Стек и его расшифровка[1]

При краше ESP в мониторе порта будет показана диагностическая информация: причина исключения и стек.

Пример:

  1. Exception (0): epc1=0x402103f4 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000
  2.  
  3. ctx: sys
  4. sp: 3ffffc10 end: 3fffffb0 offset: 01a0
  5.  
  6. >>>stack>>>
  7. 3ffffdb0:  40223e00 3fff6f50 00000010 60000600
  8. 3ffffdc0:  00000001 4021f774 3fffc250 4000050c
  9. 3ffffdd0:  400043d5 00000030 00000016 ffffffff
  10. 3ffffde0:  400044ab 3fffc718 3ffffed0 08000000
  11. 3ffffdf0:  60000200 08000000 00000003 00000000
  12. 3ffffe00:  0000ffff 00000001 04000002 003fd000
  13. 3ffffe10:  3fff7188 000003fd 3fff2564 00000030
  14. 3ffffe20:  40101709 00000008 00000008 00000020
  15. 3ffffe30:  c1948db3 394c5e70 7f2060f2 c6ba0c87
  16. 3ffffe40:  3fff7058 00000001 40238d41 3fff6ff0
  17. 3ffffe50:  3fff6f50 00000010 60000600 00000020
  18. 3ffffe60:  402301a8 3fff7098 3fff7014 40238c77
  19. 3ffffe70:  4022fb6c 40230ebe 3fff1a5b 3fff6f00
  20. 3ffffe80:  3ffffec8 00000010 40231061 3fff0f90
  21. 3ffffe90:  3fff6848 3ffed0c0 60000600 3fff6ae0
  22. 3ffffea0:  3fff0f90 3fff0f90 3fff6848 3fff6d40
  23. 3ffffeb0:  3fff28e8 40101233 d634fe1a fffeffff
  24. 3ffffec0:  00000001 00000000 4022d5d6 3fff6848
  25. 3ffffed0:  00000002 4000410f 3fff2394 3fff6848
  26. 3ffffee0:  3fffc718 40004a3c 000003fd 3fff7188
  27. 3ffffef0:  3fffc718 40101510 00000378 3fff1a5b
  28. 3fffff00:  000003fd 4021d2e7 00000378 000003ff
  29. 3fffff10:  00001000 4021d37d 3fff2564 000003ff
  30. 3fffff20:  000003fd 60000600 003fd000 3fff2564
  31. 3fffff30:  ffffff00 55aa55aa 00000312 0000001c
  32. 3fffff40:  0000001c 0000008a 0000006d 000003ff
  33. 3fffff50:  4021d224 3ffecf90 00000000 3ffed0c0
  34. 3fffff60:  00000001 4021c2e9 00000003 3fff1238
  35. 3fffff70:  4021c071 3ffecf84 3ffecf30 0026a2b0
  36. 3fffff80:  4021c0b6 3fffdab0 00000000 3fffdcb0
  37. 3fffff90:  3ffecf40 3fffdab0 00000000 3fffdcc0
  38. 3fffffa0:  40000f49 40000f49 3fffdab0 40000f49
  39. <<<stack<<<

Первая цифра после слова «Exception» – это и есть код исключения. Полный список исключений смотрите здесь.

Шестнадцатеричные данные, идущие ниже – это сам стек.

Расшифровка

Эти данные трудночитаемы, но их можно преобразовать в понятный вид. Воспользуйтесь для этого плагином Esp Exception Decoder.

Плагин Esp Exception Decoder

См.также

Внешние ссылки

  1. arduino-esp8266.readthedocs.io - Stack Dumps