xCode 技巧大全

简介: 用windows编程4年了,其vs调试功能可谓强大啊。包括计数断点,条件断点,断点打印,地址断点等。现在接触了Mac的xCode之后,发现xCode在调试方面和vs有很大差距,至少在用户UI操作友好行方面,而且目前没发现可以下地址断点的。

用windows编程4年了,其vs调试功能可谓强大啊。包括计数断点,条件断点,断点打印,地址断点等。现在接触了Mac的xCode之后,发现xCode在调试方面和vs有很大差距,至少在用户UI操作友好行方面,而且目前没发现可以下地址断点的。不管怎么样,既然用着了,就只能先适应着学着。以后会将工作中学习到的技巧记录在此,以便回顾。

  1. xCode查看数组指针内容。
    1. 在windows中这个操作非常简单,在局部堆栈中对应的指针后面加上,n即可(其中n表示数组长度)。
    2. GDB调试器比较简单:print *pointer@n 其中pointer就是指针变量,n是数组元素个数。
    3. 但是在xCode4.6版本的lldb调试器下,想要看个指针指向的数组内容可不容易。这边使用google上的一个解决方案。

      The only way I found was via a Python scripting module:

      """ File: parray.py """
      import lldb
      import shlex
      
      def parray(debugger, command, result, dict):
          args = shlex.split(command)
          va = lldb.frame.FindVariable(args[0])
          for i in range(0, int(args[1])):
              print va.GetChildAtIndex(i, 0, 1)

      Define a command "parray" in lldb:

      (lldb) command script import /path/to/parray.py
      (lldb) command script add --function parray.parray parray

      Now you can use "parray variable length":

      (lldb) parray a 5
      (double) *a = 0
      (double) [1] = 0
      (double) [2] = 1.14468
      (double) [3] = 2.28936
      (double) [4] = 3.43404
      参考帖子:LLDB equivalent of GDB's '@' operator in Xcode 4.1

相关文章
|
iOS开发 Android开发 C++
XCode小技巧
 1.用TODO做个标记代码就是这么一行:    // TODO: xxxxxx.  然后看看你的Symbol list吧. XCode 4已经不支持这样做了,不过可以使用 #pragma mark或// MARK: 来做相似的标记。
805 0
|
6月前
|
jenkins Unix 持续交付
个人记录jenkins编译ios过程 xcode是9.4.1
个人记录jenkins编译ios过程 xcode是9.4.1
93 2
|
6月前
|
Linux 数据安全/隐私保护 iOS开发
如何使用 Xcode 打包导出 IPA 文件并进行 iOS 应用内测,无需支付苹果开发者账号费用?
如何使用 Xcode 打包导出 IPA 文件并进行 iOS 应用内测,无需支付苹果开发者账号费用?
|
3月前
|
iOS开发 MacOS Perl
解决Xcode运行IOS报错:redefinition of module ‘Firebase‘和could not build module ‘CoreFoundation‘
解决Xcode运行IOS报错:redefinition of module ‘Firebase‘和could not build module ‘CoreFoundation‘
138 4
|
3月前
|
iOS开发 开发者
解决xcode doesn‘t support iphone’s ios 14.6 (18f72)
解决xcode doesn‘t support iphone’s ios 14.6 (18f72)
262 3
|
3月前
|
缓存 iOS开发
如何在Xcode删除某个版本的IOS模拟器
如何在Xcode删除某个版本的IOS模拟器
590 1
|
3月前
|
iOS开发
mac不通过Xcode直接打开IOS模拟器
mac不通过Xcode直接打开IOS模拟器
221 2
|
5月前
|
iOS开发
技术好文:xcode动态图,ios实现动态图,iosgif,暂停和继续播放
技术好文:xcode动态图,ios实现动态图,iosgif,暂停和继续播放
51 1
|
6月前
|
存储 定位技术 iOS开发
XCode8升级到Xcode9(操作系统为iOS11)后原来的工程中遇到的问题
XCode8升级到Xcode9(操作系统为iOS11)后原来的工程中遇到的问题
104 0
|
6月前
|
Linux 数据安全/隐私保护 iOS开发
Xcode8.1如何支持iOS8.0以下版本
Xcode8.1如何支持iOS8.0以下版本
45 0