gpt4 book ai didi

iphone - SIGKill 没有警告或使用 NSLogv 进行堆栈跟踪

转载 作者:行者123 更新时间:2023-12-03 21:21:44 26 4
gpt4 key购买 nike

我知道这是一个有点模糊的问题,但在调试执行期间,我正在处理的应用程序死掉了,没有任何堆栈跟踪或警告,并且在调试控制台中仅显示此消息:

Program received signal: “SIGKILL”.

我在 XCode 中设置了 NSZombieEnabled、NSDebugEnabled、MallocStackLoggingNotCompact 和 MallocStackLogging。

我已经运行 Instruments 来检查内存泄漏,但没有报告任何情况。

在调试器报告“GDB: Interrupted”之后我可以使用调试器进入的最后一个地方是调用 NSLogv 的这段代码:

+ (void)print:(NSString *)format, ...
{
va_list args;
va_start(args, format);
// Doesn't seem to go past this line
NSLogv(format, args);
va_end(args);
}

但是这个方法在整个应用程序中被多次调用,并且在任何地方都没有问题,直到我使用该应用程序足够长的时间后的某个时刻。

此后通过调试器显示的堆栈是:

#0  0x02592e07 in ___forwarding___
#1 0x02592cd2 in __forwarding_prep_0___
#2 0x000ce57f in _NSDescriptionWithLocaleFunc
#3 0x0260b00d in __CFStringAppendFormatCore
#4 0x02552f87 in _CFStringCreateWithFormatAndArgumentsAux
#5 0x025da36e in _CFLogvEx
#6 0x0014beb5 in NSLogv

经过一遍又一遍的重新测试,SIGKILL 始终出现在对 NSLogv 的调用中,而不是在其他地方。

我还可以转动或设置什么来找出调试器终止应用程序实例的原因?

最佳答案

检查格式字符串和提供的参数类型是否正确,例如使用格式字符串@“%f”和参数@“hello”,这会崩溃......

关于iphone - SIGKill 没有警告或使用 NSLogv 进行堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3964614/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com