当堆栈跟踪仅在 Eclipse 中显示本机方法时,如何找到导致错误的代码行
How do I find the line of my code causing an error when the stacktrace only shows native methods in eclipse
简短的问题是,在使用 eclipse 时,如果堆栈跟踪和调试器调用堆栈除了 Android 本机方法外没有显示任何内容,我如何找出我的代码行触发了错误。
我已经尝试了一段时间来调试程序,但遇到了一些困难。为了提供有关该问题的一些背景信息,我的 Android 应用程序在我旋转屏幕时崩溃,并且我得到以下堆栈跟踪:
从这个堆栈跟踪中,我可以看到有一个 Class 转换异常,其中 LinearLayout 试图转换为 Textview。我不知道这个异常发生在代码的什么地方。在堆栈跟踪的底部,原因只是在它以“...55 more”中断时被解释。因此,我开始四处寻找扩展日志猫的方法,而我发现的唯一方法只能在捕获异常时扩展 printStackTrace 方法。
我的下一次尝试是在调试器上 运行 this 并在抛出异常时检查调用堆栈。我发现的是这样的:
调用堆栈和堆栈跟踪都显示了几个 Android 本机方法的调用,但都没有显示我的代码中的哪一行调用了该方法。我认为正在发生的是这段代码来自句柄或事件队列 运行。我的问题是在这种情况下,是否有一种聪明的方法可以判断我的代码的哪一行触发了这个异常?在此先感谢您的帮助。
屏幕旋转触发以下 activity 委托
@Override
public void onConfigurationChanged(Configuration newConfig){
super.onConfigurationChanged(newConfig);
}
您可以从此处开始调试您的 activity 状态。
只需验证所有 activity/fragment 成员仍然可用并且没有释放任何内容。
简短的问题是,在使用 eclipse 时,如果堆栈跟踪和调试器调用堆栈除了 Android 本机方法外没有显示任何内容,我如何找出我的代码行触发了错误。
我已经尝试了一段时间来调试程序,但遇到了一些困难。为了提供有关该问题的一些背景信息,我的 Android 应用程序在我旋转屏幕时崩溃,并且我得到以下堆栈跟踪:
从这个堆栈跟踪中,我可以看到有一个 Class 转换异常,其中 LinearLayout 试图转换为 Textview。我不知道这个异常发生在代码的什么地方。在堆栈跟踪的底部,原因只是在它以“...55 more”中断时被解释。因此,我开始四处寻找扩展日志猫的方法,而我发现的唯一方法只能在捕获异常时扩展 printStackTrace 方法。 我的下一次尝试是在调试器上 运行 this 并在抛出异常时检查调用堆栈。我发现的是这样的:
调用堆栈和堆栈跟踪都显示了几个 Android 本机方法的调用,但都没有显示我的代码中的哪一行调用了该方法。我认为正在发生的是这段代码来自句柄或事件队列 运行。我的问题是在这种情况下,是否有一种聪明的方法可以判断我的代码的哪一行触发了这个异常?在此先感谢您的帮助。
屏幕旋转触发以下 activity 委托
@Override
public void onConfigurationChanged(Configuration newConfig){
super.onConfigurationChanged(newConfig);
}
您可以从此处开始调试您的 activity 状态。 只需验证所有 activity/fragment 成员仍然可用并且没有释放任何内容。