microsoft / microsoft/vscode-java-debug

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

Aberta
#1,280 3 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

ai-triaged breakpoint question
Linguagem predominante
TypeScript
Estrelas
591
Forks
429
Merge médio
1d 9h
PRs com merge (30d)
19

Descrição

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

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece reproduzindo a falha do breakpoint com o Java Card Simulator, o Debug Proxy, o APDU Tool e o projeto Sample fornecido; compare a sessão VS Code F5 com a sessão de depuração remota funcional do Eclipse na porta 8989. Inspecione o launch.json existente e o breakpoint em src/com/sample/MyApplet.java:57. Considera-se concluído quando o comando APDU parar consistentemente nesse breakpoint no VS Code.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
java, vscode
Domínio
developer-experience, devtools
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
38/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.