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

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

概述我试图将相当于asm {int 3}(或类似的)放在我的iPhone程序中.我的目标是让 Xcode完全停止在违规的行上,而不用弄乱调用堆栈(所以_Debugger听起来不会这样做,而不是我可以找到哪个框架…),然后离开我能够恢复执行(这就是为什么我对assert不满意). (我习惯于其他系统上的这些行为,我想在iOS上重现它们.) 到目前为止,我最好的尝试是: asm volatile("bkp 我试图将相当于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}`,并在被击中后继续执行?所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1108462.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存