Expose owned C breakpoints through shared MCP session
This commit is contained in:
+10
-2
@@ -77,7 +77,8 @@ MCP-сервером MAME и удаляет socket. Закрытие самог
|
||||
`read_memory`, `read_program_memory`, `list_ports`, `list_shares`, `read_share`, `read_vram`,
|
||||
`read_screen_pixels`, `screenshot`, `press_key`, `list_variables`, `read_variable`, `recent_events`,
|
||||
`mame_console_tail`, `set_line_breakpoint`, `set_function_breakpoint`,
|
||||
`clear_breakpoint`, `clear_my_breakpoints`, `claim_control`, `release_control`,
|
||||
`list_breakpoints`, `clear_breakpoint`, `clear_my_breakpoints`,
|
||||
`claim_control`, `release_control`,
|
||||
`continue_execution`,
|
||||
`pause_execution`, `step_instruction`, `step_source`. Ответы SDK 2.x содержат
|
||||
`structuredContent`. `step_source` принимает `into`, `over` или `out` и
|
||||
@@ -85,7 +86,7 @@ MCP-сервером MAME и удаляет socket. Закрытие самог
|
||||
`recent_events` с курсором `last`. Логи `SDBG_LOG` приходят как события
|
||||
`output`; журнал ограничен 1024 событиями и сообщает `first`/`last`/`lost`.
|
||||
|
||||
Число 26 в attach-режиме (28 в автономном с `start_session`/`stop_session`)
|
||||
Число 27 в attach-режиме (29 в автономном с `start_session`/`stop_session`)
|
||||
не означает полного переноса более нового `-plugin mamebridge`:
|
||||
его `src/mame_mcp.py` публикует 30 raw-инструментов, ориентированных на
|
||||
машину MAME. Здесь инструменты сгруппированы по операциям C-сессии, а
|
||||
@@ -139,6 +140,13 @@ MCP-прогон ввёл `x` в ожидающий `getchar()` и дошёл д
|
||||
его. Набор строки, произвольные имена клавиш, мышь и порты ввода ещё не
|
||||
публичны в C-MCP.
|
||||
|
||||
`list_breakpoints` возвращает логические ID, владельца (`mcp:…`, `dap` или
|
||||
`build`), вид C-точки, адреса и фактические условия банковской страницы для
|
||||
всех точек общей сессии. Это чтение доступно и при running CPU. Точки,
|
||||
поставленные вручную в родном debugger MAME, в этот список не входят.
|
||||
Инструмент не даёт удалить чужую точку: `clear_breakpoint` по-прежнему
|
||||
проверяет owner.
|
||||
|
||||
После первого `session_status` клиент отправляет session ID и build ID в
|
||||
каждом RPC; команды, меняющие CPU/точки, дополнительно сверяют generation.
|
||||
При замене сеанса или устаревшей generation команда отклоняется без
|
||||
|
||||
Reference in New Issue
Block a user