microsoft / microsoft/vscode-java-debug

can't refer to java.lang static methods in expression

Offen
#1,425 3 Kommentare 0 Reaktionen 1 zugewiesene Person Auf GitHub ansehen

@testforstephen arbeitet bereits daran.

Seit 09.1.2024.

ai-triaged bug
Vorherrschende Sprache
TypeScript
Sterne
591
Forks
429
Ø Merge
1 T. 9 Std.
Gemergte PRs (30 T.)
19

Beschreibung

Add breakpoint in a constructor (such as NoSuchMethodError) with this log expression:

new StringBuilder().append(s).append("->").append(java.util.Arrays.stream(Thread.currentThread().getStackTrace()).map(StackTraceElement::toString).collect(java.util.stream.Collectors.joining("\n"))).toString()

This works in intellij but in vscode I get:

[Logpoint] Log message '{new StringBuilder().append(s).append("->").append(java.util.Arrays.stream(Thread.currentThread().getStackTrace()).map(StackTraceElement::toString).collect(java.util.stream.Collectors.joining("\n"))).toString()}' error: Cannot evaluate because of compilation error(s): [The package java.lang collides with a type, The package java.lang conflicts with a package accessible from another module: java.base].

When works it should print the message + stacktrace.

I expect the error has something to do with the static java.lang.Thread implicit reference for Thread.currentThread() call. I also added explicit java.lang.Thread but same error.

Environment
  • Operating System: osx
  • JDK version: temurin java 21
  • Visual Studio Code version: 1.84.2
  • Java extension version: "v1.25.1"
  • Java Debugger extension version: "v0.55.0"

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

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