You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by "Jaroslav Tulach (JIRA)" <ji...@apache.org> on 2019/01/30 16:54:00 UTC
[jira] [Commented] (NETBEANS-2028) 45s: single step my take so long
[ https://issues.apache.org/jira/browse/NETBEANS-2028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16756323#comment-16756323 ]
Jaroslav Tulach commented on NETBEANS-2028:
-------------------------------------------
I have modified the code in the evaluate method to start a self-sampler [^DebuggerGenerateSample.diff] and with help of that I managed to get the profiled snapshot of the problem [^Debugger43sForASingleSteop.npss] - it seems that the problem is in calling into {{JavaSource}} infrastructure that takes long time to find an answer. CCing [~jlahoda]
Please consider to not block regular operations when evaluating expressions.
> 45s: single step my take so long
> --------------------------------
>
> Key: NETBEANS-2028
> URL: https://issues.apache.org/jira/browse/NETBEANS-2028
> Project: NetBeans
> Issue Type: Bug
> Components: debugger - Java
> Affects Versions: 10.0
> Reporter: Jaroslav Tulach
> Assignee: Martin Entlicher
> Priority: Major
> Attachments: Debugger43sForASingleSteop.npss, DebuggerGenerateSample.diff
>
>
> I have problems with debugger when I debug NetBeans based applications. Sometimes it just takes sooooo loooong to make a single step over. After some analysis it turned out that the whole slowdown is caused by evaluation of variables. When I modify the code to:
> {code:java}
> diff --git a/java/debugger.jpda/src/org/netbeans/modules/debugger/jpda/JPDADebuggerImpl.java b/java/debugger.jpda/src/org/netbeans/modules/debugger/jpda/JPDADebuggerImpl.java
> index 0444242..933065c 100644
> --- a/java/debugger.jpda/src/org/netbeans/modules/debugger/jpda/JPDADebuggerImpl.java
> +++ b/java/debugger.jpda/src/org/netbeans/modules/debugger/jpda/JPDADebuggerImpl.java
> @@ -345,7 +347,7 @@ public class JPDADebuggerImpl extends JPDADebugger {
> */
> public Variable evaluate (String expression, CallStackFrame csf, ObjectVariable var)
> throws InvalidExpressionException {
> - return evaluateGeneric(new EvaluatorExpression(expression), csf, var);
> + throw new InvalidExpressionException("skipping: " + expression);
> }
> {code}
> then the debugger starts to behave normally - it it can step in, over and out without any issues.
>
> The next question is what is happening in the {{evaluateGeneric}} that takes so long?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists