Arduino ESP8266 - 堆栈错误 - ESPException解码器进行调试 - 需要帮助才能找到错误



我有一个可以准备编译的项目。该功能在硬件上中断,我需要帮助才能找到错误。我是初学者并寻求帮助。如何缩小误差范围?

平台

  • 硬件:AZDelivery NodeMCU Lua Amica Modul V2 ESP8266 ESP-12E
  • 核心版本:最新 git
  • 开发环境:Arduino IDE
  • 操作系统: 视窗

IDE 中的设置

  • 模块:节点MCU v1.0
  • 闪存大小:4MB
  • 闪光频率:40兆赫
  • 中央处理器频率:80兆赫
  • 上传速度:115200

问题描述

15:54:11.662 -> Fatal exception 3(LoadStoreErrorCause):
15:54:11.662 -> epc1=0x4000e041, epc2=0x00000000, epc3=0x00000000, excvaddr=0x4024bcc2, depc=0x00000000
15:54:11.701 -> 
15:54:11.701 -> Exception (3):
15:54:11.701 -> epc1=0x4000e041 epc2=0x00000000 epc3=0x00000000 excvaddr=0x4024bcc2 depc=0x00000000
15:54:11.701 ->
15:54:11.701 -> >>>stack>>>
15:54:11.701 ->
15:54:11.701 -> ctx: cont
15:54:11.701 -> sp: 3ffffce0 end: 3fffffc0 offset: 01a0
15:54:11.701 -> 3ffffe80:  00000000 00000019 4024bcaa 00000000
15:54:11.701 -> 3ffffe90:  00000001 3fff16a4 00000000 000001ff
15:54:11.701 -> 3ffffea0:  00000000 00000019 401003fc 0001687b
15:54:11.701 -> 3ffffeb0:  00000000 00000000 00000001 4024bcaa
15:54:11.701 -> 3ffffec0:  00000000 00000019 3fff1134 4020ef28
15:54:11.701 -> 3ffffed0:  ffffffff 3fffc6fc 00000001 4024bcaa
15:54:11.741 -> 3ffffee0:  00000001 00000000 3fff1134 4020efc2
15:54:11.741 -> 3ffffef0:  00000019 00000000 3fff1134 4020f09d
15:54:11.741 -> 3fffff00:  40214e08 00000000 00001388 00000057
15:54:11.741 -> 3fffff10:  4020f060 3ffef254 4024bcaa 4021104d
15:54:11.741 -> 3fffff20:  3ffef10c 3ffef10c 3ffef254 40211275
15:54:11.741 -> 3fffff30:  007a1200 3ffef10c 3ffeeec0 402019b9
15:54:11.741 -> 3fffff40:  00000000 00000000 00000001 40100304
15:54:11.741 -> 3fffff50:  3ffef10c 00000000 3fff1134 4020f130
15:54:11.741 -> 3fffff60:  3ffef10c 3ffef254 0000000d 3ffef115
15:54:11.781 -> 3fffff70:  3ffef10c 3ffef254 3ffeeec0 402027dd
15:54:11.781 -> 3fffff80:  3fffdad0 00000000 3ffef728 3ffef768
15:54:11.781 -> 3fffff90:  3fffdad0 00000000 3ffef728 40202849
15:54:11.781 -> 3fffffa0:  3fffdad0 00000000 3ffef728 40212b68
15:54:11.781 -> 3fffffb0:  feefeffe feefeffe 3ffe8500 40101059
15:54:11.781 -> <<<stack<<<
15:54:11.781 -> 
15:54:11.781 ->  ets Jan  8 2013,rst cause:2, boot mode:(3,6)
15:54:11.781 -> 
15:54:11.781 -> load 0x4010f000, len 1392, room 16
15:54:11.821 -> tail 0
15:54:11.821 -> chksum 0xd0
15:54:11.821 -> csum 0xd0
15:54:11.821 -> v3d128e5c
15:54:11.821 -> ~ld
15:54:11.861 -> 

ESPException解码器调试

Exception 3: LoadStoreError: Processor internal physical address or data error during load or store
PC: 0x4000e041
EXCVADDR: 0x4024bcc2
Decoding stack results
0x401003fc: millis() at D:Eigene DateienArduinoDatapackagesesp8266hardwareesp82662.6.3coresesp8266core_esp8266_wiring.cpp line 188
0x4020ef28: ClientContext::_write_some() at D:Eigene DateienArduinoDatapackagesesp8266hardwareesp82662.6.3librariesESP8266WiFisrc/include/ClientContext.h line 514
0x4020efc2: ClientContext::_write_from_source(DataSource*) at D:Eigene DateienArduinoDatapackagesesp8266hardwareesp82662.6.3librariesESP8266WiFisrc/include/ClientContext.h line 450
0x4020f09d: WiFiClient::write(unsigned char const*, unsigned int) at D:Eigene DateienArduinoDatapackagesesp8266hardwareesp82662.6.3librariesESP8266WiFisrc/include/ClientContext.h line 364
0x4020f060: WiFiClient::write(unsigned char const*, unsigned int) at D:Eigene DateienArduinoDatapackagesesp8266hardwareesp82662.6.3librariesESP8266WiFisrcWiFiClient.cpp line 220
0x4021104d: Print::write(char const*) at D:Eigene DateienArduinoDatapackagesesp8266hardwareesp82662.6.3coresesp8266/Print.h line 60
0x40211275: Print::println(char const*) at D:Eigene DateienArduinoDatapackagesesp8266hardwareesp82662.6.3coresesp8266Print.cpp line 129
0x402019b9: commands::HandleShortCommand() at D:Temparduino_build_652018sketch/commands.h line 363
0x40100304: ets_post(uint8, ETSSignal, ETSParam) at D:Eigene DateienArduinoDatapackagesesp8266hardwareesp82662.6.3coresesp8266core_esp8266_main.cpp line 160
0x4020f130: ClientContext::_consume(unsigned int) at D:Eigene DateienArduinoDatapackagesesp8266hardwareesp82662.6.3librariesESP8266WiFisrc/include/ClientContext.h line 557
0x402027dd: serialEvent() at E:ProgrammeRasberry - ProjektProjekt_FHEM_ArduinoFirmware_SIGNALDUINOSIGNALDuino-dev-r332_cc1101_200113___funktionstuechtig_ESPSIGNALESP/SIGNALESP.ino line 591
0x40202849: loop() at E:ProgrammeRasberry - ProjektProjekt_FHEM_ArduinoFirmware_SIGNALDUINOSIGNALDuino-dev-r332_cc1101_200113___funktionstuechtig_ESPSIGNALESP/SIGNALESP.ino line 470
0x40212b68: loop_wrapper() at D:Eigene DateienArduinoDatapackagesesp8266hardwareesp82662.6.3coresesp8266core_esp8266_main.cpp line 180

如果我们无法看到您的代码,则很难帮助您,但这可能是许多问题的结果,例如:

->内存泄漏...(例如,使用库来处理HTTP响应,例如Arduinojson获得超过其最大容量的响应

->过长的中断功能

所以看看你的代码并寻找那些

编辑: 当您尝试访问 JSON 文档中的未知字段时,或者尝试读取 null 或受保护的指针时,它也可以追加

最新更新