Code change:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: 1.93.1 OS Version: Windows 11 Pro Originally from To Reproduce Steps to reproduce the behavior: an empty dart project (can be any language, this is just the one I use of course) the code below breakpoints on both and print calls the breakpoint on the trigger only after the one at (screenshot) the code and make sure the breakpoint stops the program that triggers before Expected behavior For the triggered breakpoint to wait again on restart. Also note that there are two ways to restart a debug session too - a full restart handled by VS Code (which is what happens for Dart above), and a restart that is delegated to the debug adapter (which we use for Flutter to do Hot Restart, so it's faster than a cold restart by VS Code). In both cases, this state should be reset. Screenshots ! <details<summaryRelevant debugging log part </summary</details// CC:
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.93.1. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
Interestingly, I cannot reproduce this with JavaScript using an equivalent file: Unfortunately I don't think it uses DAP and I don't know if there's a way to get a log of what's happening there. It's not clear to me how it could be working there given the DAP traffic captured for Dart. Someone familiar with the implementation of Triggered Breakpoints or the JS debugger might be able to explain what's going on.
I can on python:
I am also running into this issue
This is probably because the JS debugger has each debugee as its own, child session, and when restarting JS you will retain the parent session (handled by the DA) but get a new child session that doesn't have the data set.
I am debugging Go. I don't remember seeing it with other languages but I also only rarely run anything other than Go.
yea, it's reproducable with Python too. Fixed in Monday's Insiders.

Related discussion:
text: return `${resources.basenameOrAuthority(this.uri)} ${this.lineNumber}`; } <del> public setSessionDidTrigger(sessionId: string): void { this.sessionsDidTrigger ??= new Set(); this.sessionsDidTrigger.add(sessionId); </del> <ins> public setSessionDidTrigger(sessionId: string, didTrigger = true): void { if (didTrigger) { this.sessionsDidTrigger ??= new Set(); this.sessionsDidTrigger.add(sessionId); } else { this.sessionsDidTrigger?.delete(sessionId); } </ins> } public getSessionDidTrigger(sessionId: string): boolean {