• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 如何使用 NSSetUncaughtExceptionHandler 获取未捕获异常的类、方法和行号

[复制链接]
菜鸟教程小白 发表于 2022-12-13 04:51:32 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我使用 NSSetUncaughtExceptionHandler(&HandleExceptions); 来处理方法中未捕获的异常

void HandleExceptions(NSException *exception)
{
}   

我想打印发生异常的类、方法和行号有什么解决办法吗??

我正在跟踪堆栈跟踪

0   appName                            0x00000001000b6a20 HandleExceptions + 584
    1   appName                            0x00000001002175f0 GAIUncaughtExceptionHandler + 716
    2   CoreFoundation                      0x00000001852fe95c <redacted> + 692
    3   libobjc.A.dylib                     0x0000000195a103b4 <redacted> + 116
    4   libc++abi.dylib                     0x0000000195211bb4 <redacted> + 16
    5   libc++abi.dylib                     0x000000019521173c __cxa_rethrow + 144
    6   libobjc.A.dylib                     0x0000000195a10294 objc_exception_rethrow + 44
    7   CoreFoundation                      0x00000001851e1154 CFRunLoopRunSpecific + 572
    8   GraphicsServices                    0x000000018e38b5a4 GSEventRunModal + 168
    9   UIKit                               0x0000000189b163c0 UIApplicationMain + 1488
    10  appName                            0x00000001000a8584 main + 108
    11  libdyld.dylib                       0x000000019607ea08 <redacted> + 4



Best Answer-推荐答案


处理程序获取 NSException 的实例.有两种方法:-callStackSymbols-callStackReturnAddresses

-callStackSymbols如果可能的话,给你回溯字符串。

看起来像这样:

0   TestArrayCopy                       0x0000000100000dfe -[MyClass method] + 46
1   TestArrayCopy                       0x0000000100000e97 main + 87
2   libdyld.dylib                       0x00007fff940be5fd start + 1
3   ???                                 0x0000000000000001 0x0 + 1

如你所见,有一个关于方法所有者的信息(- 用于实例方法)、类名(MyClass)和方法名(方法)。

关于ios - 如何使用 NSSetUncaughtExceptionHandler 获取未捕获异常的类、方法和行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27960178/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap