DAP says that stop events should differentiate between: reason: 'step' | 'breakpoint' | 'exception' | 'pause' | 'entry' | 'goto' | 'function breakpoint' | 'data breakpoint' | 'instruction breakpoint' | string; Currently this isn't done.
I wonder if this is important at all. Multiple kinds of breakpoints could exist at a given location. So, differentiating that way doesn't always make sense; and anyway the stop event will hold the breakpoint IDs. For this case: elif _expected_stop is None: # FIXME what is even correct here _expected_stop = StopKinds.EXCEPTION ... maybe what we want is bug#13587, so we can report gdb's stop reason. This seems fine due to that "| string" clause at the end of the "reason" description.
https://microsoft.github.io/debug-adapter-protocol/specification#Events_Stopped