分析外部堆栈跟踪
最后修改时间:2023 年 9 月 7 日您可能想要分析其他人(例如 QA 工程师)收到的异常,或者调查死锁或挂起问题。与在调试模式下或运行单元测试时出现的异常不同,这些异常没有可帮助您导航到源代码中相应位置的链接。而且,源代码可以被扰乱。
使用 IntelliJ IDEA,您可以复制异常或完整线程转储,将其粘贴到堆栈跟踪分析器、探索信息并导航到相应的源代码。
转到代码| 分析堆栈跟踪或线程转储。
在打开的“分析堆栈跟踪”对话框中,将外部堆栈跟踪或线程转储粘贴到“在此处放置堆栈跟踪或完整线程转储: ”文本区域。
指定是否要对堆栈跟踪进行解密。
为此,请选中Unscramble stack trace复选框,选择所需的 unscrambler 和日志文件。
如果堆栈跟踪文本在使用某些软件(例如 bug 跟踪器或邮件客户端)处理后被损坏(行被剪切或换行,或者太长等),请单击标准化。
如果要显式指定包含相应 dSYM 文件的目录,请选中使用附加目录搜索丢失的 dSYM 复选框,然后在字段中输入所需目录或从文件系统中选择。
单击“确定”。堆栈跟踪显示在“运行”工具窗口中。
要跳转到导致问题的代码,请滚动到所需的堆栈跟踪行,然后单击源文件的链接。该文件在编辑器中打开。
提示
在线程转储的情况下,IntelliJ IDEA 将以可读的方式显示所有线程,并对它们进行排序,以首先显示最有可能导致死锁或挂起问题的线程。
运行工具窗口中的某些调用带有虚线下划线。这些调用发生在try/catch/finally
块内部,并且可能引发异常。IntelliJ IDEA 中的Try块突出显示功能对堆栈跟踪中的此类语句使用粗体点下划线。
使用此对话框可访问外部应用程序的可导航控制台堆栈跟踪。从此堆栈跟踪中的每条消息中,您可以直接导航到导致所报告问题的源代码。
物品 | 描述 |
---|---|
解读堆栈跟踪 | 如果您的源代码已打乱,请选择此复选框以打乱外部堆栈跟踪。 |
理瓶机 | 您可以在此处选择 unscrambler 工具。 IntelliJ IDEA 附带 Zelix Klass Master unscrambler 插件。您可以开发自己的插件来解读正在使用任何其他混淆器处理的代码的堆栈跟踪。 |
日志档案 | 指定解密器日志文件的位置。 |
在这里放置堆栈跟踪或完整的线程转储 | 在此处粘贴外部堆栈跟踪或线程转储。 |
自动检测和分析复制到 IntelliJ IDEA 外部剪贴板的线程转储 | 如果选中此复选框,IntelliJ IDEA 将监视并分析剪贴板的内容。您只能选择此复选框一次,每次切换到 IntelliJ IDEA 时都会扫描您的剪贴板。 一旦看起来像堆栈跟踪的内容被复制到剪贴板,IntelliJ IDEA 就会在相应的工具窗口中显示该堆栈跟踪。 |
突出显示过去 <this_many> 天内更改的文件 | 选中此复选框可指定要检查堆栈跟踪中最后更改的时间段。默认时间段设置为 31 天。 |
标准化 | 如果堆栈跟踪文本在使用某些软件(例如错误跟踪器或邮件客户端)处理后被损坏(行被剪切或换行,或太长等),请单击此按钮以恢复正常的堆栈跟踪结构。 |
感谢您的反馈意见!