美文网首页
lldb调试命令

lldb调试命令

作者: 落寒z | 来源:发表于2018-05-09 15:21 被阅读11次

    1.常用的命令

    p-------返回值的类型以及命令结果的引用名
    po -----输出对应的值
    call ----call即是调用的意思。其实上述的po和p也有调用的功能。因此一般只在不需要显示输出,或是方法无返回值时使用call。
    expr----可以在调试时动态执行指定表达式,并将结果打印出来,很有用的命令。
    bt----打印调用堆栈,是thread backtrace的简写,加all可打印所有thread的堆栈
    br l ----是breakpoint list的简写

    2.其他解释:

    break NUM 在指定的行上设置断点。
    bt 显 示所有的调用栈帧。该命令可用来显示函数的调用顺序。
    clear 删 除设置在特定源文件、特定行上的断点。其用法为:clear FILENAME:NUM。
    continue 继续执行正在调试的程序。该命令用在程序 由于处理信号或断点而
    导致停止运行 时。
    display EXPR 每次程序停止后显示表达式的值。表达式由程序定 义的变量组成。
    file FILE 装载指定的可执行文件进行调试。
    help NAME 显 示指定命令的帮助信息。
    info break 显 示当前断点清单,包括到达断点处的次数等。
    info files 显 示被调试文件的详细信息。
    info func 显示所有的函数名称。
    info local 显 示当函数中的局部变量信息。
    info prog 显示被调试程序的执行状 态。
    info var 显示所有的全局和静态变量名称。
    kill 终 止正被调试的程序。
    list 显示源代码段。
    make 在 不退出 gdb 的情况下运行 make 工具。
    next 在 不单步执行进入其他函数的情况下,向前执行一行源代码。
    print EXPR 显 示表达式 EXPR 的值。

    print- object 打印一个对象
    print (int) name 打印一个类型
    print- object [artist description] 调用一个函数
    set artist = @"test" 设置变量值
    whatis 查 看变理的数据类型

    3.所有命令--官方

    Debugger commands:
    apropos -- List debugger commands related to a word or subject.
    breakpoint -- Commands for operating on breakpoints (see 'help b' for
    shorthand.)
    bugreport -- Commands for creating domain-specific bug reports.
    command -- Commands for managing custom LLDB commands.
    disassemble -- Disassemble specified instructions in the current
    target. Defaults to the current function for the
    current thread and stack frame.
    expression -- Evaluate an expression on the current thread. Displays
    any returned value with LLDB's default formatting.
    frame -- Commands for selecting and examing the current thread's
    stack frames.
    gdb-remote -- Connect to a process via remote GDB server. If no host
    is specifed, localhost is assumed.
    gui -- Switch into the curses based GUI mode.
    help -- Show a list of all debugger commands, or give details
    about a specific command.
    kdp-remote -- Connect to a process via remote KDP server. If no UDP
    port is specified, port 41139 is assumed.
    language -- Commands specific to a source language.
    log -- Commands controlling LLDB internal logging.
    memory -- Commands for operating on memory in the current target
    process.
    platform -- Commands to manage and create platforms.
    plugin -- Commands for managing LLDB plugins.
    process -- Commands for interacting with processes on the current
    platform.
    quit -- Quit the LLDB debugger.
    register -- Commands to access registers for the current thread and
    stack frame.
    script -- Invoke the script interpreter with provided code and
    display any results. Start the interactive interpreter
    if no code is supplied.
    settings -- Commands for managing LLDB settings.
    source -- Commands for examining source code described by debug
    information for the current target process.
    target -- Commands for operating on debugger targets.
    thread -- Commands for operating on one or more threads in the
    current process.
    type -- Commands for operating on the type system.
    version -- Show the LLDB debugger version.
    watchpoint -- Commands for operating on watchpoints.
    Current command abbreviations (type 'help command alias' for more info):
    add-dsym -- Add a debug symbol file to one of the target's current modules
    by specifying a path to a debug symbols file, or using the
    options to specify a module to download symbols for.
    attach -- Attach to process by ID or name.
    b -- Set a breakpoint using one of several shorthand formats.
    bt -- Show the current thread's call stack. Any numeric argument
    displays at most that many frames. The argument 'all' displays
    all threads.
    c -- Continue execution of all threads in the current process.
    call -- Evaluate an expression on the current thread. Displays any
    returned value with LLDB's default formatting.
    continue -- Continue execution of all threads in the current process.
    detach -- Detach from the current target process.
    di -- Disassemble specified instructions in the current target.
    Defaults to the current function for the current thread and
    stack frame.
    dis -- Disassemble specified instructions in the current target.
    Defaults to the current function for the current thread and
    stack frame.
    display -- Evaluate an expression at every stop (see 'help target
    stop-hook'.)
    down -- Select a newer stack frame. Defaults to moving one frame, a
    numeric argument can specify an arbitrary number.
    env -- Shorthand for viewing and setting environment variables.
    exit -- Quit the LLDB debugger.
    f -- Select the current stack frame by index from within the current
    thread (see 'thread backtrace'.)
    file -- Create a target using the argument as the main executable.
    finish -- Finish executing the current stack frame and stop after
    returning. Defaults to current thread unless specified.
    image -- Commands for accessing information for one or more target
    modules.
    j -- Set the program counter to a new address.
    jump -- Set the program counter to a new address.
    kill -- Terminate the current target process.
    l -- List relevant source code using one of several shorthand formats.
    list -- List relevant source code using one of several shorthand formats.
    n -- Source level single step, stepping over calls. Defaults to
    current thread unless specified.
    next -- Source level single step, stepping over calls. Defaults to
    current thread unless specified.
    nexti -- Instruction level single step, stepping over calls. Defaults to
    current thread unless specified.
    ni -- Instruction level single step, stepping over calls. Defaults to
    current thread unless specified.
    p -- Evaluate an expression on the current thread. Displays any
    returned value with LLDB's default formatting.
    parray -- Evaluate an expression on the current thread. Displays any
    returned value with LLDB's default formatting.
    po -- Evaluate an expression on the current thread. Displays any
    returned value with formatting controlled by the type's author.
    poarray -- Evaluate an expression on the current thread. Displays any
    returned value with LLDB's default formatting.
    print -- Evaluate an expression on the current thread. Displays any
    returned value with LLDB's default formatting.
    q -- Quit the LLDB debugger.
    r -- Launch the executable in the debugger.
    rbreak -- Sets a breakpoint or set of breakpoints in the executable.
    repl -- Evaluate an expression on the current thread. Displays any
    returned value with LLDB's default formatting.
    run -- Launch the executable in the debugger.
    s -- Source level single step, stepping into calls. Defaults to
    current thread unless specified.
    si -- Instruction level single step, stepping into calls. Defaults to
    current thread unless specified.
    sif -- Step through the current block, stopping if you step directly
    into a function whose name matches the TargetFunctionName.
    step -- Source level single step, stepping into calls. Defaults to
    current thread unless specified.
    stepi -- Instruction level single step, stepping into calls. Defaults to
    current thread unless specified.
    t -- Change the currently selected thread.
    tbreak -- Set a one-shot breakpoint using one of several shorthand
    formats.
    undisplay -- Stop displaying expression at every stop (specified by stop-hook
    index.)
    up -- Select an older stack frame. Defaults to moving one frame, a
    numeric argument can specify an arbitrary number.
    x -- Read from the memory of the current target process.
    For more information on any command, type 'help <command-name>'.

    相关文章

      网友评论

          本文标题:lldb调试命令

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