zoukankan      html  css  js  c++  java
  • Xcode使用心得01:断点中断问题和调整编译目标

      http://blog.csdn.net/mydo/article/details/36900807   

    在obj-c系列博文里,我们粗浅的介绍了obj-c的一些语法以及F库中的一些标准类的使用,但是实际编写拿得出手的APP还是得老老实实在os x上用Xcode写啊!最近上网无意中发现还有支持os x和ios的ruby框架啊,手又痒了!另外swift也推出了,Xcode6.0beta也装了,这个世界诱惑就是多啊!不过言归正传,在这一系列博文里还是诚恳的记录下使用Xcode过程中出现的问题以及解决方法吧。

        OK!言归正传,在使用Xcode6beta时(以下全部简称x6b),发现设置断点,中断后直接跳到汇编视图,这根本不是一般人需要的哦(虽然本猫不是一般人,是特殊猫啊!偷笑),其实这个是可以设定的哦,在断点断下之后,菜单中依次选择Debug->Debug Workflow后,将总是显示汇编行勾去掉即可:

    这时再中断时,源代码行可以正确显示鸟:

        我们知道在x6b调试时后台使用的是lldb调试器,我们可以在调试时使用很多调试命令查看和设置代码中变量的值(类似于VS环境),看到上图红框部分了吗?就是这个区域啊!不过我在Debug Area中输入po val_name却显示错误哦:

    (lldb) po now

    error: warning: couldn't get cmd pointer (substituting NULL): extracting data from value failed

    Couldn't materialize: couldn't get the value of variable now: no location, value may have been optimized out

    Errored out in Execute, couldn't PrepareToExecuteJITExpression

    咋回事呢,其实这是由于你工程编译目标类型是release而不是debug的缘故,因为没有对象的额外调试信息,自然显示不出来啦,解决很简单在x6b菜单依次选择Prouct->Scheme->Edit Scheme:

    然后在弹出的窗口中将Release改为Debug就可以啦:

    然后在lldb中使用po指令就可以看见对象内容了哦:

    (lldb) po now

    2014-07-04 09:45:19 +0000

     
     
  • 相关阅读:
    day19(上)_IO流2(BufferedReaer,BufferedWriter,BufferedInputStream,BufferedOutputStream)
    day19(下)_IO流4(InputStreamReader,OutputStreamWriter,流操作规律总结)
    Synchronized锁 IT
    Linux查看端口信息命令 IT
    ReentrantLock锁 IT
    让网站实时生成多种电子书:jar、umd、chm、pdf、epub
    mysql性能的检查和调优方法
    新型的大型bbs架构(squid+nginx)
    uchome中的防反复提交机制
    joymobiler V2.7发布,支持pdf文档的生成
  • 原文地址:https://www.cnblogs.com/congliang/p/4645126.html
Copyright © 2011-2022 走看看