有什么方法可以判断我的iPhone应用程序是否在运行时在调试器下运行?

有什么方法可以判断我的iPhone应用程序是否在运行时在调试器下运行?,第1张

概述如果它在调试器运行,我想让我的错误处理代码表现不同.具体来说,如果我在手机上运行,​​没有连接到调试器并且断言失败,我想将错误发送到我的服务器.当我在gdb下时,我想进入调试器. 虽然我可以想象Apple将如何编写代码,但我找不到任何运行时方法的文档来测试调试器的存在. here描述的方法对我来说很好 我通过将它放入 – (void)viewDidLoad进行测试 - (void)viewDid 如果它在调试器下运行,我想让我的错误处理代码表现不同.具体来说,如果我在手机上运行,​​没有连接到调试器并且断言失败,我想将错误发送到我的服务器.当我在gdb下时,我想进入调试器.

虽然我可以想象Apple将如何编写代码,但我找不到任何运行时方法的文档来测试调试器的存在.

解决方法 here描述的方法对我来说很好

我通过将它放入 – (voID)vIEwDIDLoad进行测试

- (voID)vIEwDIDLoad {    [super vIEwDIDLoad];    int mib[4];    size_t bufSize = 0;    int local_error = 0;    struct kinfo_proc kp;    mib[0] = CTL_KERN;    mib[1] = KERN_PROC;    mib[2] = KERN_PROC_PID;    mib[3] = getpID();    bufSize = sizeof (kp);    if ((local_error = sysctl(mib,4,&kp,&bufSize,NulL,0)) < 0) {        label.text = @"Failure calling sysctl";        return;    }    if (kp.kp_proc.p_flag & P_TRACED)        label.text = @"I am traced";    else        label.text = @"I am not traced";}
总结

以上是内存溢出为你收集整理的有什么方法可以判断我的iPhone应用程序是否在运行时在调试器下运行?全部内容,希望文章能够帮你解决有什么方法可以判断我的iPhone应用程序是否在运行时在调试器下运行?所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存