分析外部堆栈跟踪
您可能需要分析他人收到的异常,例如 QA 工程师,或调查死锁问题或挂起问题。 与在调试模式或运行单元测试时遇到的异常不同,这些异常没有帮助您导航到源代码中相应位置的链接。 此外,源代码可以被扰乱。
借助 IntelliJ IDEA,您可以复制异常或完整线程转储,将其粘贴到 Stack Trace Analyzer 中,进行信息探索并导航到相应的源代码。
安装 ZKM-Unscramble 插件
此功能依赖于 ZKM-Unscramble插件,您需要安装并启用。
按 Ctrl+Alt+S 打开设置,然后选择
。打开 Marketplace 选项卡,找到 ZKM-Unscramble 插件,然后点击 安装 (如果提示,请重新启动 IDE)。
在主菜单中,前往
。在 分析堆栈跟踪 对话框中打开后,将外部堆栈跟踪或线程转储粘贴到 请在此处放置堆栈跟踪或完整的线程转储: 文本区域中。
请指定是否需要解码堆栈跟踪。
要做到这一点,请选择 译码堆栈跟踪(U) 复选框,选择所需的 unscrambler 和日志文件。
如果堆栈跟踪文本在使用某些软件处理(例如,错误跟踪器或邮件客户端)后损坏(行被截断或换行,或太长等),请点击 标准化(N)。
如果您想显式指定包含相应 dSYM 文件的目录,请选择 使用附加目录搜索丢失的 dSYMs 复选框并在字段中输入所需的目录或从文件系统中选择。
点击 OK。 堆栈跟踪显示在 运行工具窗口中。
要跳转到导致问题的代码,请滚动到所需的堆栈跟踪行并点击源文件的链接。 文件在编辑器中打开。
在 运行 工具窗口中的某些调用具有虚线下划线。 这些调用发生在 try/catch/finally
块内,可能会引发异常。 IntelliJ IDEA 中的 尝试块高亮显示 功能在堆栈跟踪中对这些语句使用粗体虚线下划线。

"分析堆栈跟踪对话框"
使用此对话框可获取外部应用程序的可导航控制台堆栈跟踪。 从此堆栈跟踪中的每条消息,您都可以直接导航到导致报告问题的源代码。
条目 | 描述 |
---|---|
译码堆栈跟踪(U) | 如您的源代码已被加扰,请选择此复选框来解扰外部堆栈跟踪。 |
译码器(S) | 在这里,您可以选择解码工具。 IntelliJ IDEA 自带 Zelix Klass Master 解码插件。 您可以开发自己的插件,以破解由任何其他混淆器处理的代码的堆栈跟踪。 |
日志文件: (L) | 请指定解码器日志文件的位置。 |
将一个堆栈跟踪或完整的线程转储放在此处 | 请在此处粘贴外部堆栈跟踪或线程转储。 |
自动检测并分析复制到 IntelliJ IDEA 外部剪贴板的线程转储 | 如果选中此复选框,IntelliJ IDEA 将监控和分析剪贴板的内容。 您只能选中此复选框一次,每次切换到 IntelliJ IDEA 时,您的剪贴板将被扫描。 一旦类似堆栈跟踪的内容被复制到剪贴板,IntelliJ IDEA 会在相应的工具窗口中显示此堆栈跟踪。 |
突出显示最近 <this_many> 天内更改的文件 | 选中此复选框以指定您想检查堆栈跟踪中最新更改的时间段。 默认时间周期设置为 31 天。 |
标准化(N) | 如果堆栈跟踪文本在使用某些软件(例如,bug 跟踪器或邮件客户端)处理后被损坏(行被截断或换行,或太长等),请点击此按钮以恢复正常的堆栈跟踪结构。 |