zoukankan      html  css  js  c++  java
  • 转 iOS 调试技巧

    调度技巧一:

    程序在崩溃的时候,xcode经常没有给出准确的堆栈信息,而是定位在了main方法里,这个让人很是头疼,又怀念起了vs, 其实xcode只要装简单设置一下,就能准确给出堆栈信息了,  打开xcode左边的Breakpoint Navigator ,点击下面的+号添加一个Exception Breakpoint,可以选择 All, 然后再运行试试,Crash后,就会在在抛出异常的时候停下来了,吼吼。

     

    调度技巧二:

    另一种Crash,EXC_BAD_ACCESS ,这个比较头疼,因为Crash的时候,可能是比较早之前的某个变量释放了,现在访问时出问题。Console里也没显示什么日志。开Scheme选项选择Edit  Scheme然后按图勾上Enable Zombie Objects 和Malloc Stack那两项,记住一般只有在定位EXC_BAD_ACCESS时候才勾选,别有事没事都勾上。

    这样重新跑一下,如果是到Exception Breakpoint处停止了,可以在Console中输入:c(continue)按回车继续跑,直到Crash。看下Console是不是有跟SIGABRT类似的错误信息日志了,后面定位什么的你懂的。

    如果还没有日志,在Console中输入 po $eax   $eax标志出错的地方,适用模拟器,真机用$r0(话说EXC_BAD_ACCESS这种错误模拟器定位就行),还可以输入比如:po [$eax name]     po [$eax reason]等指令查看错误其他信息(注意方括号后没分号的)。

  • 相关阅读:
    linux定时器
    TIMESTAMP和DATETIME的区别
    Linux进程或线程绑定到CPU
    C++学习笔记
    磁盘扇区校验和
    docker安装mysql,并配置部分表同步
    docker 安装tomcat
    多tomcat 同一个浏览器 多个项目 会导致session覆盖
    Ubuntu 安装 NodeJS
    Ubuntu 下安装 Arduino IDE
  • 原文地址:https://www.cnblogs.com/ygm900/p/3146026.html
Copyright © 2011-2022 走看看