相关疑难解决方法(0)

在Java中获取当前堆栈跟踪

如何在Java中获取当前堆栈跟踪,就像在.NET中一样Environment.StackTrace

顺便说一句,Thread.dumpStack()不是我想要的 - 我想让堆栈追溯,而不是打印出来.

java stack-trace

966
推荐指数
19
解决办法
50万
查看次数

Android - 打印完整异常回溯以记录

我有一个try/catch块抛出异常,我想在Android设备日志中看到有关异常的信息.

我从开发计算机上用此命令读取了移动设备的日志:

/home/dan/android-sdk-linux_x86/tools/adb shell logcat
Run Code Online (Sandbox Code Playgroud)

我先试了一下:

try {
    // code buggy code
} catch (Exception e)
{
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

但是这不会在日志中打印任何内容.这很可惜因为它会有很多帮助.

我取得的最好成绩是:

try {
    // code buggy code
} catch (Exception e)
{
    Log.e("MYAPP", "exception: " + e.getMessage());             
    Log.e("MYAPP", "exception: " + e.toString());
}
Run Code Online (Sandbox Code Playgroud)

总比没有好,但不是很满意.

你知道如何在日志中打印完整的回溯吗?

谢谢.

android

91
推荐指数
3
解决办法
7万
查看次数

堆栈跟踪为字符串

如何在Java中获得完整的异常消息?

我正在创建一个Java应用程序.如果存在运行时异常,则会弹出JDialoga JTextArea.我试图在我的应用程序中生成运行时异常,但显示异常消息的文本区域如下所示:

java.lang.ClassNotFoundException: com.app.Application
Run Code Online (Sandbox Code Playgroud)

但是,我希望我的文本区域显示如下:

在此输入图像描述

这是我的代码的一部分被try和包围catch:

String ex = e.toString();
this.addText(ex);
Run Code Online (Sandbox Code Playgroud)

我试着用e.getLocalizedMessage()e.getMessage(),但这些都不能工作.

java exception

34
推荐指数
3
解决办法
8万
查看次数

线程退出与未捕获的异常:没有堆栈跟踪

我的应用程序导致一个强制关闭某个地方,但我没有在我的LogCat中获得通常(且信息量很大)堆栈跟踪的致命异常,我只收到以下4行:

06-27 07:08:54.546: D/dalvikvm(14351): GC_FOR_MALLOC freed 9923 objects / 657416 bytes in 21ms
06-27 07:08:54.769: W/dalvikvm(14351): threadid=20: thread exiting with uncaught exception (group=0x4001d7f0)
06-27 07:08:54.796: W/dalvikvm(14351): threadid=21: thread exiting with uncaught exception (group=0x4001d7f0)
06-27 07:08:54.796: I/Process(14351): Sending signal. PID: 14351 SIG: 9
Run Code Online (Sandbox Code Playgroud)

这是在DEBUG模式下,LogCat上没有应用过滤器!

  • 什么可能导致这种行为?
  • 有没有办法告诉导致此异常的原因?

更新:感谢下面的@assylias,我已经能够实现:

final UncaughtExceptionHandler subclass = Thread.currentThread().getUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
    @Override
    public void uncaughtException(Thread paramThread, Throwable paramThrowable) {
    Log.getStackTraceString(paramThrowable);

    subclass.uncaughtException(paramThread, paramThrowable);
    }
});
Run Code Online (Sandbox Code Playgroud)

这产生了这些增加的线:

06-27 08:24:47.105: D/dalvikvm(15475): GC_FOR_MALLOC freed 13865 objects / 1435952 bytes in …
Run Code Online (Sandbox Code Playgroud)

java stack-overflow android stack-trace uncaught-exception

11
推荐指数
1
解决办法
8065
查看次数

如何增加Logcat中的行数(日志级别)

可能重复:
Java/Android - 如何打印出完整的堆栈跟踪?

我正在开发一个Android应用程序.有时它会停止工作并显示强制关闭错误.

当我查看logcat时,它会显示4到5行,然后再说15个/ 11个.我无法到达发生异常的行.有没有办法增加查看完整堆栈跟踪.

请帮助我被困住了.谢谢.

如果我没有正确解释,请有人编辑问题.

编辑:回答问题是

Java/Android - 如何打印出完整的堆栈跟踪?

eclipse debugging android logcat android-logcat

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