小编ndP*_*Phz的帖子

无法为某些类设置符号断点

我必须调查某个 cookie 何时被设置,但不幸的是,我无法仅在代码库中查找。所以像往常一样,当比赛变得艰难时,我会去设置一个象征性的断点。这一次,尽管困难重重,我还是没能做到。

特别是,我一直在尝试为 NSHTTPCookieStorage 方法setCookie:设置符号断点,无论是从断点导航器还是从调试控制台,我都无法设置它。

例如:

(lldb) br set -F '-[NSHTTPCookieStorage setCookie:]'
Breakpoint 6: no locations (pending).
WARNING:  Unable to resolve breakpoint to any actual locations.
Run Code Online (Sandbox Code Playgroud)

我也尝试过设置模块(基础),但没有任何改变。同样的情况也发生在 NSURLSession 方法downloadTaskWithResumeData:completionHandler:然后我尝试使用其他一些 Foundation 的类,它总是有效,除了 Apple 文档中属于该组的所有人员(如 NSHTTPCookieStorage 和 NSURLSession)。

URL加载系统类

我认为这可能与一些安全问题有关,但我还记得我对某些 Keychain 和 SecKey 的符号应用了符号断点。

其他人也有同样的经历吗?我还没有找到任何提到类似内容的文档。

debugging objective-c ios lldb swift

6
推荐指数
1
解决办法
856
查看次数

找出Swift中发生上下文切换的时间

老实说,我不知道是否可以解决我的问题,但我想在Swift中捕获上下文切换时的情况。

我正在想象一个需要很长时间才能完成的功能,例如在远程服务器上执行写操作,并且我在考虑是否有办法了解何时(至少在哪一行)执行该任务的线程正在执行上下文切换,因为必须执行另一个等待很长时间的任务。

抱歉,如果您觉得这是一个愚蠢的问题,或者在尝试解释以上内容时我出错了

编辑:

我说的是调度程序自动请求的上下文切换。。因此,再次想像一下,我们处于这个长函数的中间,该函数执行大量操作,调度程序为此任务分配了几秒钟,例如10秒钟。为了使其完整。如果进程用完了时间并且没有结束任务,它将被挂起,例如线程将执行另一个进程的另一个任务。结束时,调度程序可能会考虑对挂起的作业进行另一次尝试,并且将从挂起的位置开始继续执行(因此将从PC寄存器中读取该值并继续进行)

context-switch grand-central-dispatch swift

5
推荐指数
1
解决办法
191
查看次数