Repository navigation
Debugging via MCP 0.7.0
Pre-release
Pre-release
0.7.0 — Watch list, long values and concurrency (preview)
Added
- Watch list:
watch_add,watch_list,watch_remove. The agent follows expressions across stops: every answer that reports
a stop (debug_wait, the steps,debug_status...) carries their values and whether each changed since the previous stop. At most
10 entries; values are masked and shortened like those ofvars. The list belongs to the agent's connection, lives in memory and is
dropped when the agent lets go or disconnects; your Watch windows and your solution are not touched. These are Read tools: with Read
set to Ask, reading the values at a stop asks nothing more. Needs the extension and thedebugviamcpserver of the same
release (protocol 2.9); an older extension answers that it must be updated. evalwithoffsetandlengthreads a long value in pages (up to 16384 characters per page, up to 2,000,000 per value). The
value is read once, masked as a whole before it is cut (a secret split by a page boundary stays hidden) and the next pages come
from that saved read. Not allowed together withallowSideEffects.- A concurrency lab for testing (
samples/ConcurrencyLab: a data race, a deadlock and a crash on a worker thread) with end-to-end
scenarios intests/e2e/concurrency-lab.cs.
Fixed
- A stop with several threads no longer fails as a whole when a frame has no source line.
threadsand the call stack answered
E_FAILand an empty snapshot; such frames are now listed without a file and line. eval,varsand drill-down on a thread that is blocked (waiting on a lock) answereval_failedwith a pointer tostack
instead of an unclear error.- The failure text of a paged read is masked and cut like every other value.
debug_waitafter a stop no longer asks again for consent just to read the watch values when Read is Ask.
Changed
- Reading a long value page by page and keeping a watch's prepared expression are faster; a connection that never added a watch no
longer switches to Visual Studio's UI thread when it is released.