mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-386054, debugger: properly show internal errors during thread dump
^IDEA-386054 fixed (cherry picked from commit 5884774e2e3e6223f9091a3f39cc9d8b8f0374d8) IJ-CR-192450 GitOrigin-RevId: 55aeac876590f4fa1ab3f64c952179ea1a7e9e26
This commit is contained in:
committed by
intellij-monorepo-bot
parent
04156bfe33
commit
7494a65751
@@ -593,22 +593,15 @@ internal class JavaVirtualThreadsProvider : ThreadDumpItemsProviderFactory() {
|
||||
|
||||
val lookupImpl = getMethodHandlesImplLookup(evaluationContext)
|
||||
if (lookupImpl == null) {
|
||||
thisLogger().error("Cannot get MethodHandles.Lookup.IMPL_LOOKUP")
|
||||
return emptyList()
|
||||
throw EvaluateException("Cannot get MethodHandles.Lookup.IMPL_LOOKUP")
|
||||
}
|
||||
|
||||
val evaluated = try {
|
||||
val evaluated =
|
||||
DebuggerUtilsImpl.invokeHelperMethod(
|
||||
evaluationContext,
|
||||
VirtualThreadDumper::class.java, "getAllVirtualThreadsWithStackTracesAndContainers",
|
||||
listOf(lookupImpl)
|
||||
)
|
||||
}
|
||||
catch (e: EvaluateException) {
|
||||
thisLogger().error(e)
|
||||
return emptyList()
|
||||
}
|
||||
if (evaluated == null) return emptyList()
|
||||
|
||||
val packedThreadsAndStackTraces = ((evaluated as ArrayReference).values[0] as ArrayReference).values
|
||||
val threadIds = (evaluated.values[1] as ArrayReference).values
|
||||
|
||||
Reference in New Issue
Block a user