microsoft / microsoft/vscode-java-debug

Unable to debug Java Card Applet Code using Java Card Simulator.

Abierto
#1,280 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

ai-triaged breakpoint question
Lenguaje dominante
TypeScript
Estrellas
591
Forks
429
Merge medio
1 d 9 h
PR fusionados (30 d)
19

Descripción

I am trying to debug a Java Card Project in VS Code, but the breakpoints are not hit.

Environment
  • Operating System: Windows 10.
  • JDK version: 17.0.5 LTS
  • Visual Studio Code version: 1.74.2
  • Java extension version:
  • Java Debugger extension version: 0.47.2022112823
Steps To Reproduce

image

  1. Download and Install Java Card Simulator from Oracle. [Java Card Classic Development Kit 3.0.5u4]
    https://www.oracle.com/java/technologies/java-archive-downloads-javame-downloads.html#javacardkitv305
  2. Download and Extract Sample Java Card Project. [Sample.zip attached.]
  3. Terminal 1: Start the Simulator.
    cd "{Your_Install_Location}\Java Card Development Kit 3.0.5u4\bin}"
    cref_tdual.exe -p 9025 -debugPort 7019
  4. Terminal 2: Launch APDU Tool.
    cd "{Your_Install_Location}\Java Card Development Kit 3.0.5u4\bin}"
    apdutool.bat -p 9025
  5. Load the cap file in Simulator.
    • Copy paste the contents of {Your_Extract_Location}/apdu_scripts/cap-com.sample.script in Terminal-2 and press Enter
  6. Installing the application in Simulator.
    • Copy paste the contents of {Your_Extract_Location}/apdu_scripts/create-com.sample.MyApplet.script in Terminal-2 and press Enter.
  7. Terminal 3: Launch Debug Proxy.
    cd "{Your_Install_Location}\Java Card Development Kit 3.0.5u4\lib"
    java -jar jc-debug-proxy.jar -port 8989 -vmPort 7019 -capPath {Your_Extract_Location}\Sample\deliverables\com\sample\javacard\sample.cap

---- Debugging In VS Code [Doesn't work]-----

  1. Open the Sample project in VS Code.
  2. Start the debug session in VS Code.(Press F5). [A launch.json with correct configurations is already present.]
  3. Open the file src/com/sample/MyApplet.java and set a breakpoint at line 57.
  4. In Terminal-2
    0x00 0xA4 0x04 0x00 0x06 0x89 0x89 0x89 0x89 0x89 0x81 0x7F;
    • Press Enter.
    • The breakpoint at Line-57 should be hit. [This doesn't work.]

---- Debugging with Eclipse for Java [Working] ----------

  1. Open the Sample project in Eclipse.
  2. Select File -> Open Projects From File System -> Select the Sample Directory.
  3. Setup Debug Configuration.
    • Select Run -> Debug Configurations...
    • On Left Panel Select Remote Java Application.
    • In Project Field, Click on Browse and Select Sample.
    • Change the port to 8989
    • Click on Apply then Debug.
  4. Open the file src/com/sample/MyApplet.java and set a breakpoint at line 57.
  5. In Terminal-2
    0x00 0xA4 0x04 0x00 0x06 0x89 0x89 0x89 0x89 0x89 0x81 0x7F;
    • Press Enter.
    • The breakpoint at Line-57 should be hit. [Working]
Additional Informations

Sample.zip

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza reproduciendo el fallo del breakpoint con Java Card Simulator, Debug Proxy, APDU Tool y el proyecto Sample proporcionado; compara la sesión de VS Code F5 con la sesión de depuración remota funcional de Eclipse en el puerto 8989. Inspecciona el launch.json existente y el breakpoint en src/com/sample/MyApplet.java:57. Se considera terminado cuando el comando APDU se detiene de forma consistente en ese breakpoint en VS Code.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java, vscode
Área
developer-experience, devtools
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
38/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.