Posso criar um ponto de interrupção no código no iOS, como `__asm {int 3}` no VC ++, e continuar a execução após ser atingido?
Estou tentando colocar o equivalente aasm{int 3}
(ou similar) no meu programa para iPhone. Meu objetivo é fazer com que o Xcode pare exatamente na linha incorreta, sem precisar mexer na pilha de chamadas (então_Debugger
não parece o que seria, não que eu pudesse encontrar em qual estrutura está, de qualquer maneira ...) e me permita retomar a execução (é por isso que não estou feliz comassert
)
(Estou acostumado a esses dois comportamentos em outros sistemas e gostaria de reproduzi-los no iOS.)
Minha melhor tentativa até agora tem sido esta:
asm volatile("bkpt 1");
Isso interrompe o Xcode na linha em questão, mas quando tento continuar com Cmd + Alt + P, o Xcode parece executar oBKPT
novamente. E se eu usar Shift + Cmd + O, apenas obtenho o seguinte:
Watchdog has expired. Remote device was disconnected? Debugging session terminated.
(Escusado será dizer que o dispositivo remoto ainda está conectado.)
Não tenho muita experiência com iOS, Mac, ARM, gdb ou gcc'sasm
coisa. Então, eu já estou perplexo. Existe alguma maneira de fazer com que o iOS e o Xcode façam o que eu quero?
(Não sei se isso faz diferença, mas, a julgar pelo tamanho da instrução, meu programa é um código ARM.)