No Xcode, o GDB permite alterar variáveis locais durante a depuração (veja como alterar o valor NSString durante a depuração no XCode? ). O LLDB oferece uma funcionalidade semelhante? Se sim, como podemos usá-lo?
173
No Xcode, o GDB permite alterar variáveis locais durante a depuração (veja como alterar o valor NSString durante a depuração no XCode? ). O LLDB oferece uma funcionalidade semelhante? Se sim, como podemos usá-lo?
Respostas:
fonte
'expr myLabel.text = @"hello!"
mas recebo umaerror: property 'text' not found on object of type 'UILabel *'
... Alguma idéia?expr (void)[label setText:@"Foo"]
deve fazê-lo. A sintaxe de pontos geralmente não funciona no depurador. O lldb provavelmente o interpreta como você deseja acessar um membro de um c-struct, mas não tenho certeza se esse é o motivo pelo qual não funcionará. A sintaxe de pontos também não funcionapo
. em vez depo label.text
você ter que usarpo [label text]
@property
.p
como um atalho paraexpr
. Exemplo:(lldb) p url = @"http://google.com"
e
como um atalho paraexpr
. BTW,p
é um apelido para impressão, que é um apelido paraexpr --
(apenas avaliar entrada bruta, sem sinalizadores)expr -o -- [object]
oupo
geralmente fornece uma saída mais útil para objetos.O seguinte material funciona para mim. Estou usando o Xcode 8.
Se você deseja definir alguma variável (por exemplo, um "dict") para zero e testar o fluxo de código, tente o seguinte.
Será algo como no console.
fonte
Se você estiver usando o Xcode 10 ou 11, coloque o ponto de interrupção corretamente depois de inicializado na variável necessária, poderá alterar sua variável
po myString = "Hello World"
facilmente.fonte