WWDC session 412 Xcode调试技术-骚操作小结 (仅iOS)

  1. 设置跳转断点时为其自动新建 Debug Tab:
    方法:顶部导航栏 Xcode -> Behaviors -> Edit Behaviors… -> Runing -> Pauses -> ✅ Show Tab Name tab name in active window。

  2. expression/expr/e
    使用这个命令可以修改变量的值(包括UI),执行方法。
    e (void *)[CATransaction flush] 这句话可以在修改UI后刷新页面(OC).

  3. 可以通过在断点中添加命令来实现实时插入执行代码的功能。
    设置一个断点,通过 Edit Breakpoint… 打开编辑框,可以将多个不同的调试命令按顺序填入 Action 中;另外可以勾选 Automatically continue after evaluation actions ,可以自动继续执行后续代码。

  4. 使用符号断点可以监控任意方法, a r g 1 / arg2 / a r g 3 arg3是传递进来的参数,可以通过这个和一个值判断放到condition里面用作特殊的用途。

  5. 利用 “breakpoint set –one-shot true” 命令创建一次性断点。

  6. 通过拖拽指令指针或 “thread jump –by x” 命令跳过x行代码。拖拽还可以:拖到哪从哪里开始执行,往上拖可以重复执行之前的代码,往下拖将不执行中间被跳过的代码。

  7. 利用 watchpoints 监听变量的变化。

  8. 利用别名和脚本添加自定义 LLDB 命令(骚中之骚)。

  9. frame variable;这个命令会输出当前调用栈里你想知道的一切。:]

  10. 选中你需要查看的控件,然后点击导航栏中的 navigate 选项,展开后选择 Reveal in Debug Navigator, 可以快速定位到视图位置。

  11. 显示被裁剪的视图内容。下方左起第一个按钮,不解释。

  12. 在调试中查看自动布局信息。下方左起第二个按钮,不解释。

  13. 通过点击项目 Target -> Edit Scheme… -> Run -> Diagnostics -> Logging -> 勾选 Malloc Stack 并且切换至 All Allocation and Free History; 这会在view debugging 和 memory debugging时显示 backtrace (右边栏左起第三个视图中).

  14. view debugging时左边选中的任何对象cmd+c可以复制其指针,然后你就可以在lldb里面对它为所欲为了(嘿嘿嘿)…

  15. 利用快捷键 ⌘-click 选中被遮挡的视图.

相关文章
相关标签/搜索