Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge 'main' into 'release-cpptools' #1408

Merged
merged 9 commits into from
Jul 10, 2023
Merged

Merge 'main' into 'release-cpptools' #1408

merged 9 commits into from
Jul 10, 2023

Conversation

WardenGnaw
Copy link
Member

No description provided.

WardenGnaw and others added 9 commits March 7, 2023 18:12
* Add SDL Tasks
Update Actions and Build Warnings

This PR update the GitHub action tasks that are warning due to node-12
being outdated and cleaing up some C# warnings.
The tasks are:
- checkout v3
- setup-dotnet v3
- setup-msbuild v1.1
- Setup-VSTest v1.2
- upload-artifact v3

Also addrssed hardcoded strings that were the same name as the variable
name that appeared as warnings.
* parent 603fa9c
author Sergey <sergey.bobko@intel.com> 1667223527 -0700
committer Sergey Bobko <sergey.bobko@intel.com> 1680535841 +0000

Add "sendInvalidate" request

This PR adds support for OpenDebugAD7 to handle `sendInvalidate` requests which will respond if it successfully fired an InvalidatedEvent to the UI.

Here is the schema:
```json
"SendInvalidateRequest": {
    "allOf": [
        {
            "$ref": "#/definitions/Request"
        },
        {
            "type": "object",
            "properties": {
               "areas": {
                  "type": "array",
                  "description": "Set of logical areas that got invalidated. This property has a hint characteristic: a client can only be expected to make a 'best effort' in honoring the areas but there are no guarantees. If this property is missing, empty, or if values are not understood, the client should assume a single value `all`.",
                  "items": {
                     "$ref": "#/definitions/InvalidatedAreas"
                  }
               },
                "threadId": {
                    "type": "int",
                },
                "stackFrameId": {
                    "type": "int",
                },
            },
            "required": [
                "areas"
            ]
        }
    ]
},
```

Co-authored-by: Andrew Wang <waan@microsoft.com>
5f6213c accidently broke async-break for gdb remote scenarios as we send "-exec-interrupt" for async-break instead of sending a 'kill SIGTRAP'.

This PR modifies the `IsAsyncBreakSignal` to return a newly created enum `AsyncBreakSignal`, and renames it to `GetAsyncBreakSignal`. `GetAsyncBreakSignal` will now return if it saw a `SIGINT`, `SIGTRAP`, or `None` if its an unknown signal related to async break or no signal was retrieved at all.

This will be used along with a new flag called `IsUsingExecInterrupt`, which will be set before `-exec-interrupt` is sent to the debugger.

`IsUsingExecInterrupt` will be reset when the engine resolves the `async-break` from the user (see DebuggedProcess.cs changes) or when we are resolving an internal async break (See Debugger.cs DoInternalBreakActions).

Resolves: #1382
* [#1349] Always use `--simple-values` in newer versions of GDB.

In newer versions of GDB, the `--simple-values` option to the
`-stack-list-arguments`, `-stack-list-locals` and
`-stack-list-variables` commands no longer prints the value for
references to compound types. This improves the performance of these
commands when the stack has references to large data structures.

When these versions of GDB are available, take advantage by using
`--simple-values` in `DebuggedProcess.GetParameterInfoOnly` to fetch
names and types in a single `-stack-list-arguments` command. This is
faster than the old approach of using `--no-values` followed with
`-var-create` and `-var-delete` for each parameter to get the type.

The new method `MICommandFactory.SupportsSimpleValuesExcludesRefTypes`
determines if the debugger supports the improved behaviour of the
`--simple-values` option, by executing the `-list-features` command
and checking for the `"simple-values-ref-types"` feature in the
output. We cache the result on the `DebuggedProcess` object as the set
of supported features does not change during the lifetime of the debug
session.

* fixup! [#1349] Always use `--simple-values` in newer versions of GDB.
Microsoft mandatory file

Co-authored-by: microsoft-github-policy-service[bot] <77245923+microsoft-github-policy-service[bot]@users.noreply.github.com>
* Align use of sendInvalidate request arguments

- sendInvalidate request arguments now behave like invalidate event.
  - Areas is an array of strings.
  - Areas can be empty, in this case client should assume 'all'.

* Update src/OpenDebugAD7/AD7DebugSession.cs

Allow sending an empty array of Areas.

Co-authored-by: Andrew Wang <waan@microsoft.com>

* Update src/OpenDebugAD7/AD7DebugSession.cs

Use Collection instead of List

Co-authored-by: Andrew Wang <waan@microsoft.com>

* Update use of List<Areas>

---------

Co-authored-by: Andrew Wang <waan@microsoft.com>
Remove -thread-select and -stack-select-frame and introduce --thread and --frame options instead.

It is general recommendation to not use -thread-select and -stack-select-frame and use --thread and --frame instead.
More info can be found here:
https://sourceware.org/gdb/onlinedocs/gdb/Context-management.html

And here are the deprecation notes:
-thread-select
-thread-select: https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI-Thread-Commands.html#GDB_002fMI-Thread-Commands

-stack-select-frame
-stack-select-frame: https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI-Stack-Manipulation.html#GDB_002fMI-Stack-Manipulation

Signed-off-by: intel-rganesh rakesh.ganesh@intel.com

Signed-off-by: intel-rganesh rakesh.ganesh@intel.com
Co-authored-by: Andrew Wang <waan@microsoft.com>
* Fix Rank > 1 Display Strings for Natvis

This PR fixes the display string for ArrayItems with Rank > 1 when the
"[More...]" is expanded.

Before "[More...]" will expand starting at [0,0] instead of [0,50] for
the first expansion since the offsets are at 50.

---------

Co-authored-by: Marco Peyrot <mapeyrot@microsoft.com>
@WardenGnaw WardenGnaw merged commit a293696 into release-cpptools Jul 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants