1. ホーム
  2. xcode

[解決済み] XcodeでLLDBを使用してデバッグ中に変数の値を変更するにはどうすればよいですか?

2022-04-28 21:16:41

質問

Xcodeでは、GDBによってデバッグ中にローカル変数を変更することができます( XCode でデバッグ中に NSString 値を変更するには? ). LLDBにも同じような機能がありますか?もしそうなら、どのようにそれを使うことができるでしょうか?

どのように解決するのですか?

expr myString = @"Foo"

(lldb) help expr

C/ObjC/C++の式を評価する。 プログラムコンテキストで、現在スコープ内にある変数を使用する。 このコマンドは は、「生の」入力を受け取ります(引用符で囲む必要はありません)。

構文: 式 --.

コマンドオプション 使い方: expression [-f] [-G ]。 [-d ] [-u ] -- expression [-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 -- (インデックス * 8) + 5

expr char c[] = "foo" c[0].

重要: このコマンドは「生の」入力を受け取るので、コマンドオプションを使用する場合は、コマンドの終わりの間に「--」を使用する必要があります。 コマンド・オプションと生の入力の始まりです。

expr' は 'expression' の省略形です。