完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在尝试调试一些代码,需要显示字符指针的内容。但每次它都会给出一个例外。
static void ICACHE_FLASH_ATTR someCb(const char *data){ os_printf( "LED = %s", *data); } 致命异常 28 (LoadProhibitedCause):有没有办法访问这个指针的内容? 顺便问一下,有没有可下载的xtensa-lx106-elf-gdb调试器? |
|
相关推荐
1个回答
|
|
看起来您在使用os_printf函数时遇到了一个异常。这可能是由于多种原因引起的,例如指针错误、内存访问违规等。让我们逐步解决这个问题。
1. 首先,检查您的指针是否正确。在您的代码中,您使用了`*data`,这可能会导致问题,因为`data`已经是一个指向字符的指针。您应该直接使用`data`而不是`*data`。将代码更改为: ```c static void ICACHE_FLASH_ATTR someCb(const char *data) { os_printf("LED = %s", data); } ``` 2. 确保`data`指针指向有效的内存区域。如果`data`是一个空指针或指向非法内存区域,这可能会导致异常。在调用`someCb`函数之前,检查`data`指针是否有效。 3. 关于xtensa-lx106-elf-gdb调试器,您可以在Espressif的Git仓库中找到适用于ESP8266和ESP32的OpenOCD版本,其中包括xtensa-lx106-elf-gdb调试器。请访问以下链接以获取更多信息和下载链接: [Espressif OpenOCD](https://github.com/espressif/openocd-esp32) 4. 如果问题仍然存在,请使用调试器逐步执行代码,检查变量和内存访问。这将帮助您找到导致异常的确切位置。 5. 确保您的系统和工具链是最新的,以避免任何已知的问题或错误。 通过遵循这些步骤,您应该能够解决在使用os_printf函数时遇到的异常问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
1002 浏览 1 评论
554浏览 6评论
463浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
447浏览 5评论
448浏览 4评论
422浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 19:06 , Processed in 0.819428 second(s), Total 84, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号