Xcodeでは、GDBではデバッグ中にローカル変数を変更できます(how to change NSString value while debugging in XCode?参照)。 LLDBは同様の機能を提供していますか?もしそうなら、どうすれば使えますか?XcodeでLLVMを使用してデバッグする際に変数値を変更するにはどうすればよいですか?
133
A
答えて
207
expr myString = @"Foo"
(lldb) help expr
Evaluate a C/ObjC/C++ expression in the current program context, using variables currently in scope. This command takes 'raw' input (no need to quote stuff).Syntax: expression --
Command Options Usage: expression [-f ] [-G ] [-d ] [-u ] -- expression [-o] [-d ] [-u ] -- expression
-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.
Examples:
expr my_struct->a = my_array[3]
expr -f bin -- (index * 8) + 5
expr char c[] = "foo"; c[0]IMPORTANT NOTE: Because this command takes 'raw' input, if you use any command options you must use ' -- ' between the end of the command options and the beginning of the raw input.
'expr' is an abbreviation for 'expression'
8
次のものが私のために動作します。 私はXcode 8を使用しています。
いくつかの変数(たとえば "dict")をnilに設定してコードフローをテストする場合は、次のように試してみてください。
- 初期化した後にブレークポイントを適切な値に設定します。
- 次に、lldbコマンドラインで "expression dict = nil"を実行して変更します。 (たとえば、 "nil")
- ブレークポイントを超えるステップ。
- 次の行の変数 "dict"を確認してください。それは無用です。
コンソールのように見えます。
(lldb) expression dict = nil
(NSDictionary *) $5 = nil
関連する問題
- 1. Greasemonkeyを使用してJavaScript変数を変更するにはどうすればよいですか?
- 2. NetBeans 7.1でJavaコードをデバッグする際に変数の値を変更するにはどうすればよいですか?
- 3. OCamlで変数の値を保存して変更するにはどうすればよいですか?
- 4. 春のセキュリティを使用する際にパスワードハッシュアルゴリズムを変更するにはどうすればよいですか?
- 5. ローカル変数を使用してグローバル変数を作成するにはどうすればよいですか?
- 6. NASMを使用して1バイトの値を変更するにはどうすればよいですか?
- 7. PHPとMySQLを使用してデータベースの値を変更するにはどうすればよいですか?
- 8. if文を使用して属性の値を変更するにはどうすればよいですか?
- 9. jqueryを使用してxmlノードの値を変更するにはどうすればよいですか?
- 10. Wordpress - ドロップダウンセレクターを使用して検索値を変更するにはどうすればよいですか?
- 11. これをjoptionpaneで使用するように変更するにはどうすればよいですか?
- 12. Xcodeでデバッグ中にNSStringの値を変更するには?
- 13. 関数を使用して配列を変更するにはどうすればよいですか?
- 14. JavaScriptで複数変数間でグローバル変数を使用するにはどうすればよいですか?
- 15. KeyValuePairの値を変更するにはどうすればよいですか?
- 16. メソッド内から変数の値を変更するにはどうすればよいですか?
- 17. WinDbgのcmd行から変数の値を変更するにはどうすればよいですか?
- 18. pdbを使用してPythonをデバッグするときに値を変更するにはどうすればよいですか?
- 19. iOSのデバッグ:プロパティ値の変更を中断するにはどうすればよいですか?
- 20. 実際にVim関数に引数の値を使用するにはどうすればよいですか?
- 21. Restkitを使用してRESTにマッピングする際に、属性の値を変更するにはどうすればよいですか?
- 22. XcodeプロジェクトフォーマットをXcode 3.2互換に変更するにはどうすればよいですか?
- 23. 変形スティックを変更するにはどうすればよいですか?
- 24. PHPで変数変数($$)を使用するのと同じように、Pythonで変数パッケージをインポートするにはどうすればよいですか?
- 25. Linuxのシステムコールを使用してCでユーザパスワードを変更するにはどうすればよいですか?
- 26. スイングでGridLayoutを使用して列のサイズを変更するにはどうすればよいですか?
- 27. wpfでローカルイメージを使用してカーソルを変更するにはどうすればよいですか?
- 28. PHPで変数変数を使用するにはどうすればよいですか?ここ
- 29. JavaScriptを使用してスタイルタグを動的に変更するにはどうすればよいですか?
- 30. UniObjects.NETモードを[...]を使用して...に変更するにはどうすればよいですか?
本当に感謝!もう少し質問があります:私はUILabelのテキストを変更しようとしています: '' expr myLabel.text = @ "hello!" ''しかし、エラー:プロパティ 'text'がタイプのオブジェクトに見つかりません'UILabel *' '...どんな考え? – Eric
'expr(void)[label setText:@" Foo "]'それを行うべきです。通常、Dot-Syntaxはデバッガでは動作しません。 lldbはおそらくc-structのメンバにアクセスしたいと考えていると解釈しますが、これがうまく動作しないのかどうかはわかりません。 Dot-Syntaxは 'po'でも動作しません。 'po label.text'の代わりに' po [label text] ' –
Coolを使う必要があります。ありがとうたくさんのマティアス! – Eric