美文网首页
断点 breakpoint

断点 breakpoint

作者: 低吟浅唱1990 | 来源:发表于2019-04-18 10:21 被阅读0次
  • Xcode breakpoints
    使用Xcode添加一个Symbolic breakpoints。
    新建一个工程,并按步骤添加一个Symbolic breakpoints


    添加

并编辑此breakpoint在Symbol一栏中添加-[NSObject init],在Action中添加po [$arg1 class],这个断点将会在每次调用[NSObject init] 的时候出发,并且打印其类名。如下图所示:


编辑

运行工程。Xcode将会输出所有运行此工程需要加载的类名。

NSObject
NSObject
NSProcessInfo
_CFXPreferencesHandle
_CFXPreferences
CFPrefsSearchListSource
CFPrefsManagedSource
CFPrefsManagedSource
CFPrefsSource
__NSBundleTables
CADisplay
...
  • LLDB breakpoint syntax
    为了正确的设置断点位置,必须学会查找关键的点

image命令

(lldb) image lookup -n "-[UIViewController viewDidLoad]"
此命令输出此方法在framework's binary中的地址,-n参数

1 match found in /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore:
        Address: UIKitCore[0x000000000035ae9c] (UIKitCore.__TEXT.__text + 3511228)
        Summary: UIKitCore`-[UIViewController viewDidLoad]
(lldb) image lookup -rn test
-rn 表示regex Search
此命令将输出所有包含test的变量、方法等

例如在工程中搜索

image lookup -n "-[TestClass name]"
1 match found in /Users/zhangguolin/Library/Developer/Xcode/DerivedData/Signals-embjqbgsabxisyaaphzjetzumtvj/Build/Products/Debug-iphonesimulator/Signals.app/Signals:
        Address: Signals[0x0000000100002140] (Signals.__TEXT.__text + 0)
        Summary: Signals`-[TestClass name] at TestClass.h:32
image.png
// -- Set a breakpoint using one of several shorthand formats.
// 在代码-[UIViewController viewDidLoad]设置断点。实践中Xcode界面上没有显示,但是一旦有调转界面就会走断点
(lldb)b -[UIViewController viewDidLoad]
//rbreak    -- Sets a breakpoint or set of breakpoints in the executable.   rb  rbreak的简写。 
(lldb)rb SwiftTestClass.name.setter
//表示在name的set方法设置断点。
//在DetailViewController.swift的所有property getters/setters,blocks/closures,functions/methods等等设置断点,当具体调试某一额文件里的代码时可以这么设置。 -f 参数
(lldb)rb . -f DetailViewController.swift
//在Commons库(dynamic library模块中)设置断点 
(lldb)rb . -s Commons
//-L 是语言设置language。  给Commons模块中Swift语言设置断点。
(lldb)breakpoint set -L swift -r . -s Commons
//-A表示搜索项目中所有的源码
// -p 表示限制源码中 if let 所在的位置
(lldb)breakpoint set -A -p "if let"
// -f file限制
(lldb)breakpoint set -p "if set" -f MasterViewController.swift -f DetailViewController.swift
// 删除断点
(lldb)breakpoint delete
//表示在-[UIViewController viewDidLoad]出添加一个断点,并执行po $arg1 输出。 -G1 表示继续往下执行
(lldb)breakpoint set -n "-[UIViewController viewDidLoad]" -C "po $arg1" -G1

相关文章

  • Xcode lldb 的指令

    断点 breakpoint 帮助$help$help breakpoint 简写:break/b 设置断点$bre...

  • IOS断点相关

    常用断点类型 基本断点 异常断点(Exception Breakpoint) 符号断点(Symbolic Brea...

  • LLDB

    1,设置断点 breakpoint set -n "name" breakpoint list 查看当前point...

  • 9.LLDB

    breakpoint set --name test 通过命令给函数下断点 breakpoint set -n...

  • 断点 breakpoint

    Xcode breakpoints使用Xcode添加一个Symbolic breakpoints。新建一个工程,并...

  • LLDB(Low Lever Debug)

    LLDB(Low Lever Debug) 断点 设置断点$breakpoint set -n XXXset 是子...

  • 汇编之常识(六)MachOView&LLDB

    007--LLDB(Low Lever Debug) 断点 设置断点$breakpoint set -n XXXs...

  • iOS 调试常用命令 记录

    设置断点: 对所有C函数 functionA 设置断点breakpoint set --name function...

  • LLDB使用

    007--LLDB(Low Lever Debug) 断点 设置断点$breakpoint set -n XXXs...

  • iOS 常用调试方法:断点

    级别: ★☆☆☆☆标签:「Xcode断点调试」「iOS breakpoint」「iOS全局断点」作者: Xs·H...

网友评论

      本文标题:断点 breakpoint

      本文链接:https://www.haomeiwen.com/subject/fsoowqtx.html