Android调试时SIGBUS信号致应用频繁暂停,如何屏蔽该中断?
屏蔽原生调试中的SIGBUS信号中断
Android Studio 配置步骤
- 打开调试会话,点击调试窗口右上角的View Breakpoints图标(快捷键:
Ctrl+Shift+F8/Cmd+Shift+F8) - 在弹出的断点管理窗口中切换到
Signals标签页 - 找到
SIGBUS条目,取消勾选它的Suspend选项(若后续需要排查真实错误,可再重新勾选) - 点击
Apply和OK保存设置
AGDE(Visual Studio集成)配置步骤
- 在Visual Studio中,依次点击
Debug->Windows->Exception Settings - 在异常设置面板里展开
Win32 Exceptions,定位到SIGBUS - 取消勾选该选项,调试器就不会再因SIGBUS信号暂停应用
通用GDB脚本兜底方案
如果上述图形界面配置不生效,可以通过GDB脚本强制设置:
- 在原生模块根目录创建
.gdbinit文件 - 写入以下命令:
handle SIGBUS nostop noprint pass - 确保调试配置中加载了该脚本(Android Studio和AGDE都会自动读取项目根目录的
.gdbinit)
注意:仅当你确认这些SIGBUS信号是框架/库的正常操作而非内存错误时,才建议屏蔽。如果后续出现真实的内存访问问题,调试器将不会暂停,可能增加排查难度。
内容的提问来源于stack exchange,提问作者Yasser Dbeis
相关产品推荐
相关产品推荐

