Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
Intellij Community
Commits
0184a4e6
Commit
0184a4e6
authored
7 years ago
by
Egor Ushakov
Browse files
Options
Download
Email Patches
Plain Diff
IDEA-190076 Incorrect frame state after thread death
parent
383c2092
Branches unavailable
Tags unavailable
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
java/debugger/impl/src/com/intellij/debugger/engine/JavaExecutionStack.java
+6
-5
.../src/com/intellij/debugger/engine/JavaExecutionStack.java
java/debugger/impl/src/com/intellij/debugger/engine/JavaStackFrame.java
+7
-0
...impl/src/com/intellij/debugger/engine/JavaStackFrame.java
resources-en/src/messages/DebuggerBundle.properties
+1
-0
resources-en/src/messages/DebuggerBundle.properties
with
14 additions
and
5 deletions
+14
-5
java/debugger/impl/src/com/intellij/debugger/engine/JavaExecutionStack.java
+
6
-
5
View file @
0184a4e6
...
...
@@ -119,11 +119,12 @@ public class JavaExecutionStack extends XExecutionStack {
@Override
public
void
contextAction
(
@NotNull
SuspendContextImpl
suspendContext
)
{
if
(
container
.
isObsolete
())
return
;
if
(!
myThreadProxy
.
isCollected
()
&&
myDebugProcess
.
getSuspendManager
().
isSuspended
(
myThreadProxy
))
{
int
status
=
myThreadProxy
.
status
();
if
(!(
status
==
ThreadReference
.
THREAD_STATUS_UNKNOWN
)
&&
!(
status
==
ThreadReference
.
THREAD_STATUS_NOT_STARTED
)
&&
!(
status
==
ThreadReference
.
THREAD_STATUS_ZOMBIE
))
{
int
status
=
myThreadProxy
.
status
();
if
(
status
==
ThreadReference
.
THREAD_STATUS_ZOMBIE
)
{
container
.
errorOccurred
(
DebuggerBundle
.
message
(
"frame.panel.thread.finished"
));
}
else
if
(!
myThreadProxy
.
isCollected
()
&&
myDebugProcess
.
getSuspendManager
().
isSuspended
(
myThreadProxy
))
{
if
(!(
status
==
ThreadReference
.
THREAD_STATUS_UNKNOWN
)
&&
!(
status
==
ThreadReference
.
THREAD_STATUS_NOT_STARTED
))
{
try
{
int
added
=
0
;
Iterator
<
StackFrameProxyImpl
>
iterator
=
myThreadProxy
.
frames
().
iterator
();
...
...
This diff is collapsed.
Click to expand it.
java/debugger/impl/src/com/intellij/debugger/engine/JavaStackFrame.java
+
7
-
0
View file @
0184a4e6
...
...
@@ -142,6 +142,13 @@ public class JavaStackFrame extends XStackFrame implements JVMStackFrameInfoProv
buildVariablesThreadAction
(
getFrameDebuggerContext
(
getDebuggerContext
()),
children
,
node
);
node
.
addChildren
(
children
,
true
);
}
@Override
protected
void
commandCancelled
()
{
if
(!
node
.
isObsolete
())
{
node
.
addChildren
(
XValueChildrenList
.
EMPTY
,
true
);
}
}
});
}
...
...
This diff is collapsed.
Click to expand it.
resources-en/src/messages/DebuggerBundle.properties
+
1
-
0
View file @
0184a4e6
...
...
@@ -492,6 +492,7 @@ breakpoint.properties.panel.option.dependency.type.lable=After breakpoint was hi
watchs.add.text
=
Add to watches
breakpoint.properties.panel.option.suspend.default
=
Make De&fault
frame.panel.frames.not.available
=
Frames not available for unsuspended thread
frame.panel.thread.finished
=
Thread has finished execution
frame.panel.async.stacktrace
=
Async stacktrace
error.corrupt.debug.info
=
Debug info might be corrupt: {0}
action.kill.process.text
=
Kill Process
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help