Specific -var-create in core dump debugging is incredible slow
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 28/100
Research direction
Start with the -var-create command flow in src/MIDebugEngine/Engine.Impl/DebuggedProcess.cs and follow CmdAsyncInternal in src/MICore/Debugger.cs. Inspect the wait in src/MICore/Transports/StreamTransport.cs while reproducing the core-dump case, then compare the slow request with the other arguments. Done means identifying the cause of the delay and documenting or fixing the affected behavior.
Written by the indexing model from the issue text.
Description
Hello.
Summary
Debugging a C++ Core dump spent too much time waiting for the result of an specific -var-create (cutFrames).
The context is explained in this thread in C++ debugger extension.
- Details here - issue cpptools-12772
GDB command line does not suffer of this problem, overall debug took ~2 minutes.
Gathering debug info from MIENGINE
I was able to setup the debugger to debug OpenDebugAD7 process.
- Stepping through the code flow
- Command: 1106-var-create - * "cutFrames"
- After executing the CmdAsyncInternal I lost what's going on:
-
Status of waitingOperations:
-
Step into MITransport > StreamTransport > Task.Wait(token) (execute the task?) and takes minutes to reach the next line -> return task.Result;
https://github.com/microsoft/MIEngine/blob/074837ed159e41a3e550b41eb99cdc22d97ab519/src/MICore/Transports/StreamTransport.cs#L168 -
After it returned, continuing stepping over I see this information on the overall status of the Debugger. There are two different exceptions, but I dont know if they're real or important at all for MICore.LocalTransport. _InvalidOperation*, process must exist before requested information can be determined.
- Nexts steps shows a ParseIssue? for it also shows the same for the other args (which seems to respond quickly)
Could you help me to identify what's going on? Any idea?
Thanks.
- Dominant language
- C#
- Stars
- 859
- Forks
- 233
- Avg merge
- 4d 14h
- Merged PRs (30d)
- 3
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/MIEngine
-
Difficulty 3/5 1-2 days Newbie friendliness 58/100
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
-
question
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
All issues in microsoft/MIEngine
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
Maintainers usually reply within 1 day
-
:watch: Not Triaged aspnet-core/svc fundamentals/subsvc Source - Docs.ms
Difficulty 1/5 Under an hour Newbie friendliness 85/100
dotnet/AspNetCore.Docs#37785 ·
Maintainers usually reply within 1 day
-
needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
Azure/azure-sdk-tools#17204 ·
Maintainers usually reply within 1 day
-
Проблема с Dotnet RUOpenarea-tutorials needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
dotnet/website-feedback#1779 ·
-
[Bug] SwipeControl in Execute mode with more than one item replaces the whole UI with an error panelPossibly taken A pull request linked to this issue is open or already merged. Openbug needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
microsoft/microsoft-ui-reactor#1344 ·
Maintainers usually reply within 1 day