microsoft / microsoft/vscode-cpptools

[ARM] Need to run debugging session twice when debugging multithreaded application

Open
#1,075 4 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

debugger embedded
Dominant language
TypeScript
Stars
6.2k
Forks
1.7k
Avg merge
14h 46m
Merged PRs (30d)
61

Description

Here is:
cpptools v0.13.0
VSCode 1.16.1
Windows 8

I use VS Code to develop application for the ARM Cortem-Mx MCUs. When starting debugger with multithreaded application (with OpenOCD threads support) I need to run debugger session twice - first time VS Code drops debugging session. Standalone gdb-OpenOCD session runs flawlessly.

That is not a big problem, cause debugger functions properly after the second start, but it looks like something is broken.

Here is the debug log of the VSCode for the first debugger start:
first.txt

And here is for the second one:
second.txt

Note: when application starts there is no OS running yet, so OpenOCD reports there is a fake thread (thread id 1). This thread terminates on OS start and new real threads created.

The problem may be related to #978 issue.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing the attached first.txt and second.txt debug logs, then review the behavior described for the fake OpenOCD thread and the related #978 issue. Reproduce the first and second launch behavior with a multithreaded ARM application and verify that one debugger start remains connected when the initial thread is replaced.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, typescript, vscode
Domain
devtools, embedded-iot
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.