microsoft / microsoft/vscode-cpptools

[openSUSE] C++ debugger gets into a never ending loop

Open
#2,812 6 comments 0 reactions 1 assignee View on GitHub

@pieandcakes is already working on this.

Since Nov 15, 2018.

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

Description

Type: Debugger
Input information below
cppdbg

Please review existing issues and our documentation at https://github.com/Microsoft/vscode-cpptools/tree/master/Documentation prior to filing an issue.

Describe the bug
The debugger gets into a never ending loop! In version 1.28 the debugger control bar didn't show and I had to exit vscode completely. With 1.29 update the debugger control bar shows up but pause, step over, step in/out and restart are inactive, only the stop is active, so in 1.29 I can stop the loop without exiting vscode.

  • OS and Version:
    openSuse tumbleweed 20181110
    openSuse leap 15.0

  • VS Code Version:
    1.28
    1.29

  • C/C++ Extension Version:
    0.20.1 and 0.20.0 with vscode v1.28
    0.20.1 with vscode v1.29

  • Other extensions you installed (and if the issue persists after disabling them):
    On my development machine (tumbleweed) I uninstalled all the extensions and installed C++ extension again after the problem emerged. Then deleted everything which had to do with vscode installation and install vscode 1.29 with only C++ extension again.
    Then I installed vscode 1.29 and only C++ on another machine (leap) with no prior vscode installation and C++ extension.
    In booth cases the result is that debugger gets into a never ending loop with the difference, as mentioned above, that the debugger controller bar shows with above mentioned restrictions.

  • A clear and concise description of what the bug is.
    C++ debugger gets in to a never ending loop.

To Reproduce
Please include a code sample and launch.json configuration.
with any code as simple as the following which I tried just to make sure the problem is not due to the code I am working on:

int main() {
const int bufsize = 100;
char* buf[bufsize];
char cp[] = "Howdy";
char* p = cp;
}

{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/a.out",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Additional context
If applicable, please include logging by adding "logging": { "engineLogging": true, "trace": true, "traceResponse": true } in your launch.json
Add any other context about the problem here including log or error messages in your Debug Console or Output windows.

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.