首页 / 知识
关于macOS:等效于’__asm int 3 / DebugBreak()/ Halt的Xcode?
2023-04-13 19:04:00

Xcode equivalent of ' __asm int 3 / DebugBreak() / Halt?在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
您只需插入对
另外,也不要因为"可移植性原因"而避免使用 通常,这是通过简单地实现此原型之后的函数或宏来完成的:
断言表达式失败时调用。通常,它执行的是默认记录的行为"
由于Debugger()现在已贬值,因此应该可以使用。 https://developer.apple.com/library/mac/technotes/tn2124/_index.html#//apple_ref/doc/uid/DTS10003391-CH1-SECCONTROLLEDCRASH 为了后人:我有一些代码可在调试器中的正确堆栈帧处生成暂停,并(可选)暂停应用程序,以便您可以及时附加调试器。适用于模拟器和设备(如果需要,可能还适用于台式机)。详尽详尽的帖子,位于http://iphone.m20.nl/wp/2010/10/xcode-iphone-debugger-halt-assertions/
可在模拟器和设备中使用。 我在Apple论坛中找到了以下内容:
作为跨平台的直接Halt()替代品,还可以使用以下函数:
如果发生致命断言,我们将其用于iPhone实施的跨平台引擎中。跨Nintendo DS / Wii / XBOX 360 / iOS等的跨平台... |
最新内容
相关内容
程序执行linux命令?
程序执行linux命令?,系统,工作,地址,环境,信息,管理,命令,文件,目录,程序,linux下如何运行可执行文件1、先将终端所在路径切换到python脚本文linux执行2个命令?
linux执行2个命令?,工作,系统,基础,命令,基础知识,信息,管理,在线,概念,第一,Linux多命令顺序执行通过链接,多个命令可以顺序执行或嵌套执行;通命令查看linux中断?
命令查看linux中断?,网络,系统,状态,管理,地址,进程,命令,数据,信息,基础,Linux终止前台进程的命令首先,连接相应linux主机,进入到linux命令行状linux命令批量执行?
linux命令批量执行?,系统,代码,工作,周期性,数据,定期,环境,命令,文件,脚本,linux如何对多个文件执行相同命令1、一次执行多个命令可以将多个linux二进制执行命令?
linux二进制执行命令?,系统,工作,情况,代码,信息,位置,地址,命令,文件,目录,Linux系统常用操作命令有哪些1、linux常用命令: pwd命令 该命令linux执行退出命令?
linux执行退出命令?,档案,状态,工作,命令,信息,地址,电脑,系统,编辑,文件,linux保存并退出的命令(linux常用命令保存退出)linux保存并退出命令linux中后台执行命令?
linux中后台执行命令?,系统,状态,暂停,灵活,电脑,网络,服务,第一,名字,命令,linux以后台服务怎么停止运行若是es的前台运行,则用ctrl + c来停止linux常用的执行命令?
linux常用的执行命令?,系统,地址,工作,基础,标准,命令,工具,环境,信息,代码,Linux下最常用的Shell命令的介绍Linux中的shell有多种类型,其中最linux执行线程命令?
linux执行线程命令?,系统,工作,线程,软件,服务,管理,信息,环境,名称,命令,linux下线程属性常用操作有哪些1、linux系统常用操作命令linux系统linux执行多条命令?
linux执行多条命令?,数据,通信,管理,系统,命令,标准,信息,工具,代码,环境,Linux多命令顺序执行1、通过链接,多个命令可以顺序执行或嵌套执行;通linux退出命令未执行?
linux退出命令未执行?,服务,工具,代码,环境,数据,官网,命令,用户,脚本,字符串,linux文本界面,我运行了rpm-qa,半天没反应,我用ctr+c不能停止,linux动态执行命令?
linux动态执行命令?,时间,信息,名字,工作,网上,业务,工具,对比,地址,下来,如何在linux下让一个命令一直运行,然后跟踪结果日志1、编写一个shel