IDE 无响应
当 DataGrip 无响应时,请考虑创建一个线程转储文件。 必须在 IDE 无响应时创建转储文件,并包含线程堆栈。 记录几个间隔 1-2 秒的线程转储可能对问题分析有帮助。
创建线程转储文件后,请将其归档并上传以与 JetBrains 支持团队共享。 请阅读 上传快照部分中的上传说明。
您可以通过以下选项创建线程转储:
使用 jstack
jstack 命令行工具打印 Java 线程的 Java 堆栈跟踪。 该工具随 JDK 安装提供,可在 JAVA_HOME\bin 目录中找到。
确保该工具与 DataGrip 使用的 JDK 版本相同。 例如,64 位 JDK 版本的工具无法用于运行在 32 位 JDK 版本下的 IDE。 要检查 JDK 版本,请按 Ctrl+Shift+A ,输入 About ,然后按 Enter。

使用 jstack 创建线程转储
打开命令提示符。
列出系统上运行的 Java 进程及其命令行选项。 输入以下命令并按 Enter。
jps -mv使用 IDE 进程标识符 (PID) 运行 jstack。 输入以下命令并按 Enter。
jstack -l <PID> > dump.txt此命令将线程转储打印到文件中。

自动线程转储
DataGrip 运行一个线程,当 UI 在一段时间内无响应时,会将自动线程转储写入日志目录。 要找到日志目录,请单击 。 您会发现几个名称类似于 threadDumps-freeze-20201215-083634-DB-211.3076 的文件夹。 将这些文件夹压缩并附加到您的工单中。
从控制台生成线程转储
根据您的操作系统,您可以在不使用 jstack 工具的情况下创建线程转储。
macOS
导航到 datagrip 文件所在的 IDE_HOME/DataGrip.app/Contents/MacOS/ 。
根据您安装 IDE 的方式, IDE_HOME 可能有所不同。 对于独立安装, IDE_HOME 如下: /Applications/ 。 通过 JetBrains Toolbox App 安装时,请按照以下步骤通过应用程序找到 IDE_HOME 。
打开 Toolbox App,单击相关 IDE 实例的垂直省略号图标(
),然后选择 设置。
在 设置 选项卡中,导航到 并单击 显示。
在打开的文件浏览器窗口中,右键单击 DataGrip.app 以访问上下文菜单并选择 显示包内容。
右键单击 datagrip 文件并选择 。
按下 ⌃ \。 终端将打印线程转储。 要完成此过程,请按 ⌃ C。

Microsoft Windows
打开命令提示符。
通过使用
cd命令,导航到 IDE 安装目录内 bin 目录中的 datagrip.bat 文件。根据您安装 IDE 的方式,安装目录可能有所不同。 对于独立安装,安装目录如下: C:\Program Files\JetBrains\DataGrip <version_number>\ 。 通过 JetBrains Toolbox App 安装时,请按照以下步骤通过应用程序找到安装目录:
打开 Toolbox App,单击相关 IDE 实例的垂直省略号图标(
),然后选择 设置。
在 设置 选项卡中,导航到 并单击 显示。
在打开的文件浏览器窗口中,右键单击 DataGrip.app 以访问上下文菜单并选择 显示包内容。
运行 datagrip.bat 文件。
datagrip.bat > output.txt按下 Ctrl+Break。 终端将打印线程转储。 要完成此过程,请按 Ctrl+C。
Unix
运行 IDE 安装目录内 bin 目录中的 datagrip.sh 文件。
根据您安装 IDE 的方式,安装目录可能有所不同。 对于独立安装,安装目录可能是您选择的任何目录。 通过 JetBrains Toolbox App 安装时,请按照以下步骤通过应用程序找到安装目录:
打开 Toolbox App,单击相关 IDE 实例的垂直省略号图标(
),然后选择 设置。
在 设置 选项卡中,导航到 并单击 显示。
在打开的文件浏览器窗口中,右键单击 DataGrip.app 以访问上下文菜单并选择 显示包内容。
通过使用进程管理器(例如,
ps、htop、jps),获取进程 ID (PID)。运行以下命令或向进程发送 SIGQUIT 信号。 线程转储将打印在终端窗口中。
