zoukankan      html  css  js  c++  java
  • 快速定位异常代码

    程序在设备上运行时发生闪退,调试的时候发现未捕捉的异常,但是这些异常信息很有限,不能有效定位代码段,需要为app加入未捕捉异常:

    摘自:http://www.cnblogs.com/dqshll/archive/2012/08/29/2661933.html

    在AppDelegate.m中添加函数:

    void uncaughtExceptionHandler(NSException*exception){
        NSLog(@"CRASH: %@", exception);
        NSLog(@"Stack Trace: %@",[exception callStackSymbols]);
        // Internal error reporting
    }

    这里会打印出异常时的call stack, 也是发生crash时候, 最有价值的信息.

    然后在程序入口处向下面这样调用它:

    复制代码
    -(BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
    {   
        NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
        // Normal launch stuff
    }
    复制代码
    NSSetUncaughtExceptionHandler 就是告诉系统, 当发生异常时, 使用这个函数作为回调.
    这样之后, 发生crash时, 就可以看到打印出的call stack, 就可以很方便的定位到发生crash的那行代码.
  • 相关阅读:
    Access-自定义控件TabControl
    Excel公式-求最低价网站名字
    Excel图表-太极图
    Excel图表-"DNA"图
    VB中的GDI编程-2 画笔
    leetcode
    leetcode
    leetcode
    leetcode
    leetcode
  • 原文地址:https://www.cnblogs.com/1oo1/p/4021875.html
Copyright © 2011-2022 走看看