Skip to main content
Glama

WineDbg MCP Server

by maci0
winedbg_wrapper.py2.72 kB
import pexpect import shutil class WineDbgWrapper: def __init__(self): self.process = None if not self.is_winedbg_installed(): raise RuntimeError("winedbg is not installed. Please install it to use this wrapper.") def is_winedbg_installed(self): return shutil.which("winedbg") is not None def start(self, command): self.process = pexpect.spawn(command, encoding='utf-8') self.process.expect(r'Wine-dbg>') return self.process.before def send_command(self, command): if not self.process: return "winedbg not running." self.process.sendline(command) self.process.expect(r'Wine-dbg>') return self.process.before def run(self, executable): return self.start(f"winedbg {executable}") def attach(self, pid): return self.start(f"winedbg --pid {pid}") def quit(self): if self.process: self.process.close() self.process = None return "winedbg terminated." def detach(self): return self.send_command("detach") def kill(self): return self.send_command("kill") def cont(self): return self.send_command("cont") def break_at(self, location): return self.send_command(f"break {location}") def watch(self, address): return self.send_command(f"watch {address}") def info_break(self): return self.send_command("info break") def delete_breakpoint(self, number): return self.send_command(f"delete {number}") def backtrace(self): return self.send_command("bt") def frame(self, number): return self.send_command(f"frame {number}") def up(self): return self.send_command("up") def down(self): return self.send_command("down") def step(self): return self.send_command("step") def next(self): return self.send_command("next") def stepi(self): return self.send_command("stepi") def nexti(self): return self.send_command("nexti") def finish(self): return self.send_command("finish") def print_var(self, expression): return self.send_command(f"print {expression}") def examine_memory(self, address): return self.send_command(f"x {address}") def info_locals(self): return self.send_command("info locals") def info_args(self): return self.send_command("info args") def info_proc(self): return self.send_command("info proc") def info_threads(self): return self.send_command("info threads") def info_share(self): return self.send_command("info share")

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/maci0/mcp-winedbg'

If you have feedback or need assistance with the MCP directory API, please join our Discord server