Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Logpoints can't be evaluated

Offen
#1,500 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Muss geklärt werden
Aktivitätsstatus
Veraltet
Tech-Stack
java, typescript, vscode
Bereich
devtools

Rechercherichtung

Beginne damit, JdtEvaluationProvider.evaluateForBreakpoint und den im Stacktrace gezeigten SetBreakpointsRequestHandler-Pfad nachzuverfolgen. Reproduziere den Logpoint auf sun.awt.X11.XDragSourcePeer und untersuche, warum die Auswertung meldet, dass sun.awt.X11.XMotionEvent nicht aufgelöst werden kann. Erledigt ist die Aufgabe, wenn derselbe Logpoint seine Meldung ohne den Kompilierungsfehler ausgibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

ai-triaged bug

When adding logpoints to sun.awt.X11.XDragSourcePeer, I often get errors.

Environment
  • Operating System: Ubuntu 22.04.4 LTS
  • JDK version: OpenJDK Runtime Environment Temurin-17.0.11+9 (build 17.0.11+9)
  • Visual Studio Code version: 1.91.1
  • Java extension version: v1.32.0
  • Java Debugger extension version: v0.58.0
Steps To Reproduce
  1. Use attached source file
  2. Extract jdk src.zip and add to classpath (I forget how I did this)
  3. Open "Java Projects" > java.desktop > sun.awt.X11 > XDragSourceContextPeer, add "Hello world" logpoint to line 483 (which is doUpdateTargetWindow(subwindow, time);.
  4. Get error [Logpoint] Log message 'Hello world' error: Cannot evaluate because of compilation error(s): Evaluations must contain either an expression or block of well-formed statements
  5. Observe > [Warn - 3:19:18 PM] Jul 23, 2024, 3:19:18 PM Compile error during code evaluation: sun.awt.X11.XMotionEvent cannot be resolved to a type in the Language Support for Java log.

Sample program:

import javax.swing.*;
import java.awt.*;
import java.awt.datatransfer.*;
import java.awt.dnd.*;
import java.awt.event.*;
import java.util.logging.ConsoleHandler;

import java.util.logging.Level;
import java.util.logging.Logger;

public class DragAndDropExample extends JFrame {

    public DragAndDropExample() {
        setTitle("Drag and Drop Example");
        setSize(400, 300);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);

        JTextArea sourceTextArea = new JTextArea("Drag this text");
        sourceTextArea.setDragEnabled(true);
        sourceTextArea.setLineWrap(true);
        sourceTextArea.setWrapStyleWord(true);
        JScrollPane sourceScrollPane = new JScrollPane(sourceTextArea);

        JTextArea targetTextArea = new JTextArea("Drop here");
        targetTextArea.setLineWrap(true);
        targetTextArea.setWrapStyleWord(true);
        JScrollPane targetScrollPane = new JScrollPane(targetTextArea);

        new DropTarget(targetTextArea, new DropTargetListener() {
            @Override
            public void dragEnter(DropTargetDragEvent dtde) {
                if (dtde.isDataFlavorSupported(DataFlavor.stringFlavor)) {
                    dtde.acceptDrag(DnDConstants.ACTION_COPY);
                    System.out.println("Drag Enter: Data flavor supported");
                } else {
                    dtde.rejectDrag();
                    System.out.println("Drag Enter: Data flavor not supported");
                }
            }

            @Override
            public void dragOver(DropTargetDragEvent dtde) {
                // No action needed here
            }

            @Override
            public void dropActionChanged(DropTargetDragEvent dtde) {
                // No action needed here
            }

            @Override
            public void dragExit(DropTargetEvent dte) {
                System.out.println("Drag Exit");
            }

            @Override
            public void drop(DropTargetDropEvent dtde) {
                try {
                    if (dtde.isDataFlavorSupported(DataFlavor.stringFlavor)) {
                        dtde.acceptDrop(DnDConstants.ACTION_COPY);
                        String droppedText = (String) dtde.getTransferable().getTransferData(DataFlavor.stringFlavor);
                        targetTextArea.append(droppedText);
                        dtde.dropComplete(true);
                        System.out.println("Drop: Success");
                    } else {
                        dtde.rejectDrop();
                        System.out.println("Drop: Data flavor not supported");
                    }
                } catch (Exception ex) {
                    ex.printStackTrace();
                    dtde.dropComplete(false);
                    System.out.println("Drop: Exception occurred");
                }
            }
        });

        setLayout(new GridLayout(2, 1));
        add(sourceScrollPane);
        add(targetScrollPane);
    }

    public static void main(String[] args) {

        Logger platformLogger = Logger.getLogger("sun.awt.X11.xembed.xdnd.XDnDDropSourceProtocol");
        platformLogger.setLevel(Level.ALL);
        
        ConsoleHandler consoleHandler = new ConsoleHandler();
        consoleHandler.setLevel(Level.ALL);
        platformLogger.addHandler(consoleHandler);

        SwingUtilities.invokeLater(() -> {
            new DragAndDropExample().setVisible(true);
        });
    }
}

Language support for Java logs:

Jul 23, 2024 3:18:58 PM org.apache.aries.spifly.BaseActivator log
INFO: Registered provider ch.qos.logback.classic.servlet.LogbackServletContainerInitializer of service jakarta.servlet.ServletContainerInitializer in bundle ch.qos.logback.classic
Jul 23, 2024 3:18:58 PM org.apache.aries.spifly.BaseActivator log
INFO: Registered provider ch.qos.logback.classic.spi.LogbackServiceProvider of service org.slf4j.spi.SLF4JServiceProvider in bundle ch.qos.logback.classic
Jul 23, 2024 3:19:01 PM com.microsoft.java.debug.plugin.internal.JavaDebuggerServerPlugin start
INFO: Starting com.microsoft.java.debug.plugin
Jul 23, 2024 3:19:13 PM com.microsoft.java.debug.core.UsageDataSession recordInfo
INFO: launch debug info
Jul 23, 2024 3:19:14 PM com.microsoft.java.debug.core.UsageDataSession recordResponse
WARNING: abnormal response
[Warn  - 3:19:18 PM] Jul 23, 2024, 3:19:18 PM Compile error during code evaluation: sun.awt.X11.XMotionEvent cannot be resolved to a type
[Error - 3:19:18 PM] Jul 23, 2024, 3:19:18 PM [Logpoint]: Cannot evaluate because of compilation error(s): Evaluations must contain either an expression or a block of well-formed statements.
Cannot evaluate because of compilation error(s): Evaluations must contain either an expression or a block of well-formed statements.
com.microsoft.java.debug.core.DebugException: Cannot evaluate because of compilation error(s): Evaluations must contain either an expression or a block of well-formed statements.
	at com.microsoft.java.debug.core.adapter.AdapterUtils.createUserErrorDebugException(AdapterUtils.java:274)
	at com.microsoft.java.debug.plugin.internal.eval.JdtEvaluationProvider.evaluate(JdtEvaluationProvider.java:176)
	at com.microsoft.java.debug.plugin.internal.eval.JdtEvaluationProvider.evaluateForBreakpoint(JdtEvaluationProvider.java:108)
	at com.microsoft.java.debug.core.adapter.handler.SetBreakpointsRequestHandler.lambda$registerBreakpointHandler$7(SetBreakpointsRequestHandler.java:206)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

Jul 23, 2024 3:19:18 PM com.microsoft.java.debug.core.adapter.handler.SetBreakpointsRequestHandler handleEvaluationResult
SEVERE: [Logpoint]: Cannot evaluate because of compilation error(s): Evaluations must contain either an expression or a block of well-formed statements.
com.microsoft.java.debug.core.DebugException: Cannot evaluate because of compilation error(s): Evaluations must contain either an expression or a block of well-formed statements.
	at com.microsoft.java.debug.core.adapter.AdapterUtils.createUserErrorDebugException(AdapterUtils.java:274)
	at com.microsoft.java.debug.plugin.internal.eval.JdtEvaluationProvider.evaluate(JdtEvaluationProvider.java:176)
	at com.microsoft.java.debug.plugin.internal.eval.JdtEvaluationProvider.evaluateForBreakpoint(JdtEvaluationProvider.java:108)
	at com.microsoft.java.debug.core.adapter.handler.SetBreakpointsRequestHandler.lambda$registerBreakpointHandler$7(SetBreakpointsRequestHandler.java:206)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)
Current Result

Error message is shown instead of log messages.

Expected Result

Log messages are logged.

Additional Informations

This seems to be the relevant error:

[Warn - 3:19:18 PM] Jul 23, 2024, 3:19:18 PM Compile error during code evaluation: sun.awt.X11.XMotionEvent cannot be resolved to a type

Vorherrschende Sprache
TypeScript
Sterne
591
Forks
429
Ø Merge
1 T. 3 Std.
Gemergte PRs (30 T.)
19

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus microsoft/vscode-java-debug

Alle Issues in microsoft/vscode-java-debug

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.