Skip to content

breakpoints are not verified when remote debugging over ssh #135

Open

Description

@JelleRoets

When starting a (gdb) debugging session on the remote over ssh (so specifying the ssh object in the launch.json properly), all of my breakpoints turn into a "Unverified Breakpoint" state... but still work correctly
image
What does "Unverified Breakpoint" mean? And why are they "Unverified" while they just work, my program breaks correctly on the breakpoints and I can add / remove breakpoints on the fly...

Activity

  1. WebFreak001 commented on Mar 8, 2018

    @WebFreak001
    Owner

    Unverified means that code-debug sent the debug breakpoint requests but didn't get a response that they were successfully added (pending breakpoints)

    It could be that breakpoints there do or don't work. Before you discover more issues, check the list here for some more currently known issues: #129 (comment) (you might as well try to reproduce them)

  2. bblazik commented on Mar 14, 2018

    @bblazik

    I have also this problem. I thought that is compilation problem (some flags or whatever) but checked on target and everything works as should. It is strange because I can see whole call stack and break in proper line but can't see any variable. I wondering does it not a problem that I having a different start point. Still, I will try to figure it out, start maybe from gdb args.

  3. ivankravets commented on Mar 15, 2018

    @ivankravets

    The same for me with remote target. I've not seen this problem with previous VSCode versions. Maybe, they changed something.

    Also, there is a big problem. The breakpoints are inserting immediately AFTER -exec-run. If they insert BEFORE, they are visible via (gdb) info b. This is a random issue.

    For example,

    1-gdb-set target-async on
    2-environment-directory "..."
    3-file-exec-and-symbols "...firmware.elf"
    4-break-delete
    source .pioinit
    Running executable
    5-exec-run
    6-break-insert -f "C:\\Users\\User\...main.cpp:7"
    i b
    (no breakpoints)
    

    @WebFreak001 do you have any ideas? Why does extension insert breakpoints after exec?

  4. WebFreak001 commented on Mar 15, 2018

    @WebFreak001
    Owner

    uh vscode gives me the breakpoints after starting debugging iirc. Plus it needs to work afterwards to dynamically change breakpoints

  5. ivankravets commented on Mar 16, 2018

    @ivankravets

    @WebFreak001 Who does send a this command -exec-run?

  6. ivankravets commented on Mar 16, 2018

    @ivankravets

    Should we wait when autorun commands will be finished before running? https://github.com/WebFreak001/code-debug/blob/master/src/gdb.ts#L100

  7. WebFreak001 commented on Mar 16, 2018

    @WebFreak001
    Owner

    it is.

  8. ivankravets commented on Mar 16, 2018

    @ivankravets

    https://github.com/WebFreak001/code-debug/blob/master/src/backend/mi2/mi2.ts#L737

    I don't see any await/Promise.then(). So, this.miDebugger.start() will be run before end target (microcontroller) is ready for debugging. Am I right?

    Normally, autorun with custom commands for embedded target requires 5-10sec depending on the device (flashing, halting, reseting).

  9. WebFreak001 commented on Mar 16, 2018

    @WebFreak001
    Owner

    it isn't waiting for a response before starting, but it will send all commands in order so they should execute in that order according to the docs

  10. ivankravets commented on Mar 16, 2018

    @ivankravets

    Ok, you know that better. Do you have any ideas how to resolve the issue with breakpoints?

  11. WebFreak001 commented on Mar 16, 2018

    @WebFreak001
    Owner

    of course that could be a feature improvement for example for flashing etc, if you want it you can make an issue and/or a PR, shouldn't be too hard, just adding a few things to package.json and to the 3 base debug servers

  12. WebFreak001 commented on Mar 16, 2018

    @WebFreak001
    Owner

    no idea, would need to check the cause first, I have a feeling I will eventually work on this some more soon anyway

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions