You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

存储HTTP请求为全局变量后程序崩溃的问题求助

存储HTTP请求为全局变量后程序崩溃的问题求助

各位好,我最近在做一个WiFi连接相关的项目,用的WiFi库是事件回调机制的——简单说就是我得先把HTTP请求对象存起来,等WiFi的事件回调触发后再去调用它。

但现在遇到个大问题:我把HTTP请求设成全局变量之后,只要再次去访问它,程序直接就崩溃了!日志输出的错误信息是:

Guru Meditation Error: Core 0 panic'ed (StoreProhibited). Exception was unhandled.
Core 0 register dump: P...(日志内容没贴全,后续的寄存器信息显示不全)

我自己试着琢磨了几个可能的原因,但还是没理清头绪,想请大家帮忙分析下:

  • 会不会是存储方式的问题?比如我存的是HTTP请求对象的栈指针,等函数执行完栈帧销毁了,这个指针就变成野指针了?那是不是应该改用堆内存来创建这个请求对象?
  • 或者是多核心访问的问题?看日志是Core 0崩溃,我用的是ESP32芯片,会不会是全局变量在多核心环境下访问没做同步处理,导致内存冲突了?
  • 还有那个StoreProhibited错误,是不是意味着我访问了不被允许的内存区域?比如这个HTTP请求对象的内部资源在某个时机被自动释放了,我全局存着它再去访问就碰到了无效内存?

另外,我也想问问大家,排查这种崩溃问题一般从哪几个方向入手?要是需要看具体代码的话,我可以把全局变量的定义、创建HTTP请求的代码还有回调函数的代码都贴出来~

麻烦各位大佬给点思路,实在是卡在这里动不了了😭

备注:内容来源于stack exchange,提问作者Ethan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 16:18:16