Xcode等价于’__asm int 3DebugBreak() Halt?

Xcode等价于’__asm int 3DebugBreak() Halt?,第1张

概述在Xcode中造成严重破坏的指示是什么?例如在Visual Studio下,我可以做’_asm int 3’或’DebugBreak()’。在一些GCC实现下,它是asm(“break 0”)或asm(“trap”)。 我已经尝试过Xcode下的各种组合,没有任何运气。 (内联汇编程序工作正常,所以它不是一个语法问题)。 作为参考,这是一个断言宏。我不想将assert.h中的定义用于可移植性,因为 在Xcode中造成严重破坏的指示是什么?例如在Visual Studio下,我可以做’_asm int 3’或’DeBUGBreak()’。在一些GCC实现下,它是asm(“break 0”)或asm(“trap”)。

我已经尝试过Xcode下的各种组合,没有任何运气。 (内联汇编程序工作正常,所以它不是一个语法问题)。

作为参考,这是一个断言宏。我不想将assert.h中的定义用于可移植性,因为它们似乎在XCode版本中执行了一个abort()。

约翰 – 超级,欢呼声。作为参考,int 3语法是Intel Macs和iPhone所需的语法。

Chris – 感谢您的评论,但有很多原因可以避免移植到不同平台的代码库的标准assert()函数。如果您遇到了自己的断言的问题,那通常是因为您有其他功能(日志记录,堆栈展开,用户交互),您希望保留。

您尝试通过“__assert”或类似 *** 作替换执行程序的建议不会是可移植的。标准“assert”通常是一个宏,而它可能映射到Mac上的__assert,而不在其他平台上。

解决方法 http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeProjectManagement/090_Running_Programs/chapter_11_section_3.html

asm {trap}            ; Halts a program running on PPC32 or PPC64.__asm {int 3}         ; Halts a program running on IA-32.
总结

以上是内存溢出为你收集整理的Xcode等价于’__asm int 3/DebugBreak()/ Halt?全部内容,希望文章能够帮你解决Xcode等价于’__asm int 3/DebugBreak()/ Halt?所遇到的程序开发问题。

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

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

原文地址: https://outofmemory.cn/web/1071507.html

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

发表评论

登录后才能评论

评论列表(0条)

保存