microsoft / microsoft/vscode-cpptools

[J-Link] Debug session doesn't stop in breakpoint after flash is erased

Aperta
#10,819 2 commenti 0 reazioni 1 assegnatario Vedi su GitHub

@benmcmorran ci sta già lavorando.

Dal 1/5/2023.

debugger
Lingua principale
TypeScript
Stelle
6.2k
Fork
1.7k
Merge medio
14h 46m
PR unite (30g)
61

Descrizione

Environment
  • OS and version: Windows, Linux
  • VS Code: 1.77
  • C/C++ extension: v1.14.5
  • OS and version of remote machine (if applicable): N/A
  • GDB version: any
Bug Summary and Steps to Reproduce

Bug Summary:
[J-Link] Debug session doesn't stop in breakpoint after flash is erased.

Steps to reproduce:

  1. Connect a Segger J-Link Probe to a NXP LPCXPRESSO55S69 board.
  2. Open a terminal in the project folder and erase the flash by issuing the following command:
    "C:\Program Files\SEGGER\JLink\JLink.exe" -if SWD -speed auto -commanderscript script.jlink -device LPC55S69_M33_0
  3. Debug the attached project from VS Code.

Result: Target doesn't stop at main. From the logs, it seems that the target actually stops, but cppdbg tells it to continue execution. If the debug session is done without erasing the flash first it stops at main as expected.

Debugger Configurations
launch.json:
{
  "configurations": [
    {
      "type": "cppdbg",
      "name": "Debug project configuration",
      "request": "launch",
      "cwd": "c:\\Bug\\lpcxpresso55s69_hello_world",
      "MIMode": "gdb",
      "program": "c:\\Bug\\lpcxpresso55s69_hello_world\\armgcc\\debug\\hello_world.elf",
      "miDebuggerPath": "c:\\gdb\\bin\\arm-none-eabi-gdb.exe",
      "debugServerPath": "C:\\Program Files\\SEGGER\\JLink\\JLinkGDBServerCL.exe",
      "miDebuggerServerAddress": "localhost:2330",
      "postRemoteConnectCommands": [
        {
          "text": "monitor reset"
        },
        {
          "text": "load"
        },
        {
          "text": "tbreak main"
        },
        {
          "text": "monitor semihosting enable"
        },
        {
          "text": "monitor exec SetRestartOnClose=1"
        },
        {
          "text": "monitor reset"
        }
      ],
      "debugServerArgs": "-nosilent -swoport 2331 -telnetport 2332 -singlerun -endian little -noir -speed auto -port 2330 -vd -device LPC55S69_M33_0 -if SWD -halt -reportuseraction",
      "serverStarted": "Connected to target",
      "unknownBreakpointHandling": "stop"
    }
  ]
}
Debugger Logs

Debug log attached.
debug.log

Other Extensions

No response

Additional Information

lpcxpresso55s69_hello_world.zip

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.