小编典典

在 Xcode 中使用 LLDB 进行调试时如何更改变量值?

all

在 Xcode 中,GDB 允许您在调试时更改局部变量(请参阅如何在 XCode 中调试时更改 NSString
值?
)。LLDB 是否提供类似的功能?如果是这样,我们如何使用它?


阅读 73

收藏
2022-08-01

共1个答案

小编典典

expr myString = @”Foo”

(lldb) help expr
使用当前范围内的变量在当前程序上下文中计算 C/ObjC/C++ 表达式。此命令采用“原始”输入(无需引用内容)。

语法:表达式——

命令选项用法:表达式 [-f ] [-G ] [-d ] [-u ] – 表达式 [-o] [-d ] [-u ] – 表达式

   -G <gdb-format>  ( --gdb-format <gdb-format> )
        Specify a format using a GDB format specifier string.

   -d <boolean>  ( --dynamic-value <boolean> )
        Upcast the value resulting from the expression to its dynamic

type
if available.

   -f <format>  ( --format <format> )
        Specify a format to be used for display.

   -o  ( --object-description )
        Print the object description of the value resulting from the
        expression.

   -u <boolean>  ( --unwind-on-error <boolean> )
        Clean up program state if the expression causes a crash,

breakpoint
hit or signal.

例子:

expr my_struct->a = my_array[3]
expr -f bin – (index * 8) + 5
expr char c[] = “foo”; c[0]

重要提示:由于此命令采用“原始”输入,因此如果您使用任何命令选项,则必须在命令选项的结尾和原始输入的开头之间使用“-”。

“expr”是“表达式”的缩写

2022-08-01