完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
所以我有一个应用程序需要用 GDBStub 进行调试。我沿着 gdb 存根编译了我的应用程序,然后出现了致命的异常 3。我反编译了精灵以找到异常的位置,它似乎在gdbstub_init本身
致命异常 (3): epc1=0x4026ffc4 EPC2=0x00000000 epc3=0x402213bb epcvaddr=0x401010b8 depc=0x00000000 retn_add=0x4027084c 地址 4026ffc4 是这个 静态 void ATTR_GDBINIT install_exceptions() { 将user_fatal_exception_handler替换为跳转到我们自己的代码 int *ufe=(int*)user_fatal_exception_handler; 这种混乱编码为相对跳转指令user_fatal_exception_handler *ufe=((((int)gdbstub_user_exception_entry-(int)user_fatal_exception_handler)-4)<<6)|6; 4026ffb0: ffff41 l32r a4, 4026ffac 4026ffb3: fffd21 l32r a2, 4026ffa8 4026FFB6:FCC222 ADDI A2、A2、-4 4026FFB9:C02240 子 A2、A2、A4 4026FFBC:1122A0 SLLI A2、A2、6 4026FFBF:630C MOVI.N A3、6 4026FFC1:202230 或 A2、A2、A3 4026FFC4:005422 S16i A2、A4、0 4026FFC7:F52020 分机 A2、A2、16、16 4026FFCA:015422 S16i A2、A4、2 4026FFCD:F00D ret.n 我意识到 gdb 正在尝试修改 SDK 中user_fatal_exception_handler的 IRAM 地址。 但我不明白为什么它会在这一点上抛出 |
|
相关推荐
1个回答
|
|
根据您提供的信息,您在使用GDBStub进行调试时遇到了致命的异常3。首先,让我们了解一下可能的原因和解决方案。
1. **代码问题**:可能是您的应用程序代码中存在问题,导致异常。检查您的代码,特别是与异常处理相关的部分,确保没有逻辑错误或未处理的异常。 2. **GDBStub集成问题**:确保您正确地集成了GDBStub。检查您的编译选项,确保使用了正确的宏定义和编译器选项。例如,您可能需要定义`__GDB_STUB__`宏,并使用适当的编译器选项来启用GDBStub。 3. **异常处理函数问题**:您提到的`install_exceptions`函数似乎有问题。请确保您正确地实现了用户致命异常处理函数,并正确地替换了`user_fatal_exception_handler`。此外,检查您的跳转指令是否正确,以及目标地址是否有效。 4. **内存问题**:异常3通常与内存访问错误有关。检查您的应用程序是否存在内存泄漏、越界访问或其他内存问题。使用内存检查工具(如Valgrind)来帮助诊断这些问题。 5. **硬件问题**:虽然不太可能,但硬件问题也可能导致异常。确保您的开发环境稳定,没有硬件故障。 为了解决这个问题,您可以尝试以下步骤: 1. **检查代码**:仔细检查您的代码,特别是与异常处理和GDBStub集成相关的部分。 2. **使用调试器**:使用GDB或其他调试器逐步执行您的代码,观察异常发生的位置和原因。 3. **简化问题**:尝试创建一个简单的示例程序,只包含GDBStub集成和异常处理。如果示例程序可以正常工作,那么问题可能在于您的应用程序代码。 4. **更新工具链**:确保您的编译器、链接器和其他工具链组件是最新的,以避免潜在的兼容性问题。 5. **寻求帮助**:如果您仍然无法解决问题,可以在相关论坛或社区寻求帮助,提供详细的错误信息和代码片段。 希望这些建议能帮助您解决问题。祝您调试顺利! |
|
|
|
只有小组成员才能发言,加入小组>>
179个成员聚集在这个小组
加入小组441 浏览 1 评论
1407 浏览 1 评论
609浏览 6评论
506浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
487浏览 5评论
489浏览 4评论
472浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-25 01:53 , Processed in 0.759858 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号