microsoft / microsoft/MIEngine

Tries to set breakpoint at main, although setting stopAtEntry is False

Open
#1,453 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
859
Forks
233
Avg merge
1d 6h
Merged PRs (30d)
3

Description

Hi,

I use the c_cpp extension in VScode with a large c++ project.
One issue is, that starting the debugger session takes more than one minute.
I activated the logging to see what is happening. It came out, that there is a log entry saying:

1: (7051) <-1009-break-insert -f main

Then the log prints all methods within my project with the name main.
Finally the log contains the time it took to search all those methods:

--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (47494) 1009: elapsed time 40443\n"},"seq":112}

The thing about this: I disabled the stopAtEntry in the launch settings of my project

{
"name": "(GDB) mybinary (logging)",
"type": "cppdbg",
"program": "/path/to/mybinary.exe",
"request": "launch",
"cwd": "/path/to",
"stopAtEntry": false,
"linux": {},
"MIMode": "gdb",
"miDebuggerPath": "/u1/debugger/gdb-13.2.0/bin/gdb",
"logging": {
  "engineLogging": true,
  "moduleLoad": true,
  "trace": true,
  "traceResponse": true,
}

I think that this is an error not using the setting.

Looking at the source code, there might be a something wrong in:

MIEngine\src\MIDebugEngine\Engine.Impl\DebuggedProcess.cs:821

Best regards,
Frank

Contributor guide

No contributing guide indexed for this repository

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

Reproduce the startup with the supplied cppdbg configuration and logging enabled, then inspect MIEngine/src/MIDebugEngine/Engine.Impl/DebuggedProcess.cs:821. Trace why -break-insert -f main is sent when stopAtEntry is false, and verify that startup no longer performs this breakpoint search under that setting.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, csharp, vscode
Domain
devtools
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.