microsoft / microsoft/debug-adapter-protocol
Debug Protocol: Allow exception conditions to be specified by the protocol
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 1.8k
- Forks
- 173
- Avg merge
- 7d 7h
- Merged PRs (30d)
- 2
Description
In Visual Studio, users can ignore first chance exceptions when they are raised in specific modules. This is useful when an external component raises a lot of exceptions that the user does not care about. This feature can be supported by the protocol by adding the concept of exception conditions. Although these conditions are currently either "Module == name" or "Module != name" this proposal lets the condition type be specified in case other condition types are added.
/** An ExceptionOptions assigns configuration options to a set of exceptions.*/
export interface ExceptionOptions {
// ....
/** A set of conditions used to determine whether the exception should result in a break.
The debugger will break only if the exception matches all listed conditions.*/
conditions?: ExceptionCondition[];
}
/** Condition to determine if the exception should be handled by the debugger.*/
export interface ExceptionCondition {
/** Type of the condition.*/
type: 'module';
/** Operation to apply to the condition value.*/
operator?: 'equals' | 'notEquals';
/** Value of the condition.*/
value: string;
}
/** Information about the capabilities of a debug adapter.*/
export interface Capabilities {
// ....
/** The debug adapter supports using exception conditions in exception options.*/
supportsExceptionConditions?: boolean;
}
@weinand @andrewcrawley @gregg-miskelly
Contributor 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.
Research direction
The proposal targets the TypeScript protocol interfaces ExceptionOptions, ExceptionCondition, and Capabilities; start by locating their definitions and related protocol representations. Verify that exception options can express module equals/notEquals conditions and that adapters can advertise support through the capability flag.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100