iphone - 打印应用程序当前堆栈跟踪的简单方法?

标签 iphone cocoa-touch xcode debugging uikit

Xcode/Objective C 并没有真正打印有用的堆栈跟踪。我的应用程序在某个地方崩溃了,该死的东西只给了我像 45353453、34524323、6745345353、457634524234 这样的数字。一点用也没有。

所以我想做一个 NSLog();在我整个应用程序中的每个方法的开头。但也许有一种更简单的方法来找出真正的堆栈跟踪,人类可读?不仅在应用程序启动或崩溃时,而且在所有发生的每项事件中?将有助于调试很多。

最佳答案

类似的东西可能对您也有帮助


@implementation UIApplication (MyCategory)

+ (void)logStackTrace {
    @try {
        [[NSException exceptionWithName:@"Stack Trace" reason:@"Testing" userInfo:nil] raise];
    }
    @catch (NSException *e) {
        NSLog(@"%@", [e callStackSymbols]);
    }
}

@end

关于iphone - 打印应用程序当前堆栈跟踪的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1373858/

相关文章:

iphone - 从 iOS 的 Resources 文件夹中随机选择一个文件

ios - Xcode 中的不同对象库

iphone - 将 NSTimeInterval 持续时间转换为 NSString

iphone - Storyboard 中的边距是什么?为什么 iPhone 6 plus 的侧边距与其他 iPhone 不同?

ios - 如何居中对齐 iphone 的最大视口(viewport)缩放

objective-c - UITextField rightViewMode 奇怪的行为

ios/iphone 照片连拍模式 api

ios - 即使应用程序未处于事件状态,您如何安排任务?

ios - 每次我尝试在调试器控制台中打印内容时,Xcode 7 都会崩溃

ios - Google Plus 使用 OAuth 2.0 登录滚动问题