xcode – 我可以在iOS中的代码中创建一个断点,比如VC上的`__asm {int 3}`,并在被击中后继续执行?

我试图将相当于asm {int 3}(或类似的)放在我的iPhone程序中.我的目标是让 Xcode完全停止在违规的行上,而不用弄乱调用堆栈(所以_Debugger听起来不会这样做,而不是我可以找到哪个框架…),然后离开我能够恢复执行(这就是为什么我对assert不满意).

(我习惯于其他系统上的这些行为,我想在iOS上重现它们.)

到目前为止,我最好的尝试是:

asm volatile("bkpt 1");

这样就停止了Xcode在线上的问题,但是当我尝试继续使用Cmd Alt P时,Xcode似乎再次运行BKPT.如果我使用Shift Cmd O,我只是得到这个:

Watchdog has expired.  Remote device was disconnected?  Debugging session terminated.

(不用说,远程设备仍然连接.)

我没有足够的iOS,Mac,ARM,gdb或gcc的asm的经验.所以我已经被困了有没有办法让iOS和Xcode做我想要的?

(我不知道它是否有所作为,但是由我的程序是ARM代码的指令大小来判断.)

[这个问题最初出现在另一个标题下.我已经编辑了,希望能让事情更清楚.]

解决方法

raise(SIGTRAP)是一种相对便携的方式来具有“代码”断点.

以上是来客网为你收集整理的xcode – 我可以在iOS中的代码中创建一个断点,比如VC上的`__asm {int 3}`,并在被击中后继续执行?全部内容,希望文章能够帮你解决xcode – 我可以在iOS中的代码中创建一个断点,比如VC上的`__asm {int 3}`,并在被击中后继续执行?所遇到的程序开发问题。

如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。