我得到同样的问题。
我遇到同样的问题。 有人修吗?
我遇到了同样的问题,但是为什么呢?
如何重现问题?
KSCrash在没有调试符号的情况下解析符号表时在函数kssymbolicator_symbolicate()中将光标imageAddress设置为0(Xcode --> build settings --> Strip Style -->Debugging Symbols)
祝你好运 ...
我遇到同样的问题。 有人修吗?
作者提供的所有三个报告问题都与 C++ 异常有关。 有没有人在没有回溯的情况下收到非 C++ 崩溃?
@bamx23 #205 说明了为什么 C++ 崩溃无法获取崩溃的堆栈。 我有一个问题,到现在为止,问题已经解决了吗? 当嵌入式框架中的 C++ 异常时,我仍然可以获得一个空堆栈吗?
下周我会看看这个问题
@ bamx23我得到很多空的崩溃堆栈,“诊断”:“尝试取消引用空指针。”
空.txt
如果遇到 C++ 异常的空栈,可以在这个问题上找到原因。 https://github.com/kstenerud/KSCrash/issues/205
抱歉,最好说“下个月”。
我已经从我的示例应用程序中检查了关于 C++ 崩溃的 KSCrash,但线程没问题。 有人可以提供重现问题的示例代码吗?
@chzhij5 老哥,你们用的是哪个版本的ks?1.15.8?
你好! 我们在团队中调查了问题和可能的解决方案。 有一个:
在 KSCrashMonitor_CPPException 的安装过程中,我们可以使用https://github.com/facebook/fishhook 中描述和实现的“hack”。 它允许挂钩任何动态链接二进制函数的调用。 所以我们为所有加载的二进制文件挂钩__cxa_throw
。
如果任何库有一个弱符号__cxa_throw
(就像 KSCrash 目前有的),我们将按照我们现在的方式调用它。 订单就像[fishhooked one] -> [weak one] -> [libc++abi one]
。
唯一无法解决的问题是,如果某些二进制文件中包含强__cxa_throw
符号,我们就无法挂钩它。 但我认为没有办法处理这种情况。
@kstenerud ,你怎么看? 我们已经在 stackoverflow 阅读了您的帖子,看来上面的想法至少可以部分解决它。
我们可以继续创建一个拉取请求,其中鱼钩将依赖于 KSCrash(或 KSCrash 子规范,例如“KSCrash/Recording/ImprovedCPPExceptionsHandling”)。
[fishhooked one] -> [weak one] -> [libc++abi one]
。
如果[weak one]
不调用它,我们实际上可以从[fishhooked one]
调用[libc++abi one]
,这满足@kstenerud的要求。
听起来不错,我们将在下周在我们的内部应用程序中进行尝试。
这里是公关:#375
最有用的评论
下周我会看看这个问题