microsoft / microsoft/MIEngine

Allow configuration from VS Code to configure call stack detail

Open
#694 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

vscode:1.19.0
ms-vscode.cpptools:0.14.6
the remote linux be suse11 sp3 , when we use F10 ,the gdb very slow;
we find MIDebugEngine will create a "varxxx" and delete it at once after -stack-list-arguments; They have wasted a lot of time .
see log :
1: (240376) <-2012-stack-list-arguments 0 0 37
1: (240423) ->2012^done,stack-args=[frame={level="0",args=[name="this",name="msg"]},frame={level="1",args=[name="this",name="msg"]},frame={level="2",args=[name="this",name="msg"]},frame={level="3",args=[name="this",name="msg"]},frame={level="4",args=[name="this",name="msg"]},frame={level="5",args=[name="this",name="msg"]},frame={level="6",args=[name="this",name="msg"]},frame={level="7",args=[name="this",name="msg"]},frame={level="8",args=[name="msg"]},frame={level="9",args=[name="this",name="msg"]},frame={level="10",args=[name="this",name="msg"]},frame={level="11",args=[name="msg"]},frame={level="12",args=[name="pMsg",name="pid_index"]},frame={level="13",args=[name="pMsg"]},frame={level="14",args=[name="this",name="pvAtual",name="fileSrc"]},frame={level="15",args=[name="this",name="pvAtual"]},frame={level="16",args=[name="pucMsg",name="vPrios"]},frame={level="17",args=[name="this",name="pMsg",name="vec"]},frame={level="18",args=[name="this",name="ulPid",name="pMsg",name="vec"]},frame={level="19",args=[name="this",name="ulCpuId",name="ulPid",name="pMsg",name="vec"]},frame={level="20",args=[name="this",name="pvMsg",name="vec",name="ulQueueId"]},frame={level="21",args=[name="this",name="lExpectTimeOut"]},frame={level="22",args=[name="isLoopMsg"]},frame={level="23",args=[name="ul_itf_id",name="ul_msg_type",name="usGNodeBNeId"]},frame={level="24",args=[name="this"]},frame={level="25",args=[name="this"]},frame={level="26",args=[name="object",name="method",name="location"]},frame={level="27",args=[name="object",name="method",name="location"]},frame={level="28",args=[name="this"]},frame={level="29",args=[name="this"]},frame={level="30",args=[name="this"]},frame={level="31",args=[name="this"]},frame={level="32",args=[name="object",name="method",name="location"]},frame={level="33",args=[name="object",name="method",name="location"]},frame={level="34",args=[name="this"]},frame={level="35",args=[]},frame={level="36",args=[name="argc",name="argv",name="bFlag",name="strIP"]},frame={level="37",args=[name="argc",name="argv"]}]
1: (240423) ->(gdb)
1: (240423) 2012: elapsed time 46
1: (240423) <-2013-var-create - * "this"
1: (240454) ->2013^done,name="var327",numchild="1",value="0xb667ce8",type="SgNBInfoTransCmd * const",thread-id="1",has_more="0"
1: (240454) ->(gdb)
1: (240454) 2013: elapsed time 31
1: (240454) <-2014-var-delete var327
1: (240485) ->2014^done,ndeleted="1"
1: (240485) ->(gdb)
1: (240485) 2014: elapsed time 31
1: (240485) <-2015-var-create - * "msg"
1: (240516) ->2015^done,name="var328",numchild="0",value="0xffffce98",type="const void *",thread-id="1",has_more="0"
1: (240516) ->(gdb)
1: (240516) 2015: elapsed time 31
1: (240516) <-2016-var-delete var328
1: (240532) ->2016^done,ndeleted="1"
1: (240532) ->(gdb)
1: (240532) 2016: elapsed time 15
1: (240532) <-2017-stack-select-frame 1
1: (240548) ->2017^done
1: (240548) ->(gdb)
1: (240548) 2017: elapsed time 15
1: (240548) <-2018-var-create - * "this"
1: (240579) ->2018^done,name="var329",numchild="2",value="0xd2b0298",type="gof::CmdManager * const",thread-id="1",has_more="0"
1: (240579) ->(gdb)
1: (240579) 2018: elapsed time 31
1: (240579) <-2019-var-delete var329
1: (240610) ->2019^done,ndeleted="1"
1: (240610) ->(gdb)
1: (240610) 2019: elapsed time 31
1: (240610) <-2020-var-create - * "msg"
1: (240626) ->2020^done,name="var330",numchild="0",value="0xffffce98",type="const void *",thread-id="1",has_more="0"
1: (240626) ->(gdb)
1: (240626) 2020: elapsed time 15
1: (240626) <-2021-var-delete var330
1: (240657) ->2021^done,ndeleted="1"
1: (240657) ->(gdb)
1: (240657) 2021: elapsed time 31
1: (240657) <-2022-stack-select-frame 2
1: (240688) ->2022^done
1: (240688) ->(gdb)
1: (240688) 2022: elapsed time 31
1: (240688) <-2023-var-create - * "this"
1: (240720) ->2023^done,name="var331",numchild="2",value="0xd1f89d8",type="const gof::MsgDispatcher * const",thread-id="1",has_more="0"
1: (240720) ->(gdb)
1: (240720) 2023: elapsed time 31

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

Start by tracing MIEngine's handling of the logged -stack-list-arguments, var-create, var-delete, and stack-select-frame commands. Identify the existing VS Code configuration entry point, then determine how a call-stack detail setting should affect this sequence; done means the setting is configurable and the slow remote-debugging behavior is covered by appropriate verification.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, linux, vscode
Domain
devtools
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.