美文网首页技术
iOS异常处理:mach_msg_trap处异常

iOS异常处理:mach_msg_trap处异常

作者: 鹰凌天下 | 来源:发表于2016-04-09 16:25 被阅读3956次

问题描述:

app运行的时候,xcode中断,显示信息:

libsystem_kernel.dylib`mach_msg_trap:

0x194e6ce74:  movn  x16, #30

0x194e6ce78:  svc    #128

0x194e6ce7c:  ret    -----------> 在这里中断

(这时候,点运行按钮,app能继续运行,-_-#  我开始以为这是xcode某种提示,实际运行可能不会有问题;实际情况是:如果不是调试模式,在此情况下,app会异常退出)

解决思路:

跟踪断点,在lldb下敲入bt

(lldb) bt

* thread #1: tid = 0x3003d, 0x0000000183518fd8 libsystem_kernel.dylib`mach_msg_trap + 8, queue = 'com.apple.main-thread', stop reason = signal SIGPIPE

……

原来是收到了sigpipe消息,该消息的默认处理方法是退出程序;所以就得在程序中找可能产生该消息的代码:某fd已释放,却依然write,操作两次就会产生sigpipe消息

在lldb调试窗口输入:process handle SIGPIPE -s false   这样调试的时候,app收到sigpipe信号,Xcode就不会中断了。

相关文章

  • iOS异常处理:mach_msg_trap处异常

    问题描述: app运行的时候,xcode中断,显示信息: libsystem_kernel.dylib`mach_...

  • IOS 捕获异常工具UncaughtExceptionHandl

    原文IOS 捕获异常工具UncaughtExceptionHandleriOS程序异常Crash友好化处理 开发i...

  • iOS异常处理

    开发iOS应用,解决Crash问题始终是一个难题。Crash分为两种,一种是由EXC_BAD_ACCESS引起的,...

  • iOS异常处理

    尽管当iphone应用崩溃时,它不会告诉用户发生了什么,但我们仍然可以为应用添加异常和信号处理,以此记录和展示发生...

  • spring/springmvc 全局异常处理

    1.在项目中为什么要统一异常处理 当异常返回到前端页面的时候可以统一处理,避免前端无法处理异常 不做统一异常处理,...

  • @ControllerAdvice

    @ExceptionHandler 异常统一处理 处理web请求中的异常 请求:http://localhos...

  • SpringBoot接口 - 如何优雅的写Controller并

    内容目录 为什么要优雅的处理异常 实现案例@ControllerAdvice异常统一处理Controller接口运...

  • 统一异常处理

    一、什么是统一异常处理 1、制造异常 2、什么是统一异常处理我们想让异常结果也显示为统一的返回结果对象,并且统一处...

  • Python 程序异常处理

    异常处理 异常就是运行期检测到的错误。计算机语言针对可能出现的错误定义了异常类型,某种错误引发对应的异常时,异常处...

  • Swift - 异常处理

    说明 跟其它语言一样,Swift的异常处理是在程序抛出异常后的处理逻辑。 Swift提供了一流的异常抛出、捕获和处...

网友评论

    本文标题:iOS异常处理:mach_msg_trap处异常

    本文链接:https://www.haomeiwen.com/subject/zkhblttx.html