{"library":"mozdebug","title":"Mozdebug Library","description":"Mozdebug provides utilities for running applications under native code debuggers, primarily intended for use within Mozilla testing workflows. It offers a Python client to interact with Mozilla's custom debug protocol. The current version is 0.4.0. Its release cadence appears infrequent, typically tied to specific Mozilla project requirements.","language":"python","status":"active","last_verified":"Fri Apr 17","install":{"commands":["pip install mozdebug"],"cli":null},"imports":["from mozdebug.client import MozDebugClient","from mozdebug.symbols import SymbolFetcher"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom mozdebug.client import MozDebugClient\n\n# In a real scenario, you would launch a debug server (e.g., rr, gdbserver)\n# and configure it to listen on a host/port, then connect to it.\n# This example just demonstrates the client instantiation and connection attempt.\n# A ConnectionRefusedError is expected if no server is running at the specified address.\n\ntry:\n    # Attempt to connect to a debug server.\n    # Replace 'localhost' and 9000 with your server's actual host and port.\n    client = MozDebugClient(host=os.environ.get('DEBUG_SERVER_HOST', 'localhost'),\n                           port=int(os.environ.get('DEBUG_SERVER_PORT', 9000)))\n    print(f\"Attempting to connect to {client.host}:{client.port}...\")\n    client.connect()\n    print(\"Successfully connected to debug server.\")\n\n    # In a real application, you would now interact with the debug client, e.g.,\n    # client.attach_to_process(pid), client.continue_execution(), client.get_stack().\n\n    # Example: Disconnect\n    client.disconnect()\n    print(\"Disconnected.\")\n\nexcept ConnectionRefusedError:\n    print(\"Could not connect to the debug server. Ensure a debug server (e.g., rr, gdbserver) is running and listening on the specified host/port.\")\nexcept Exception as e:\n    print(f\"An unexpected error occurred: {e}\")\n","lang":"python","description":"This quickstart demonstrates how to instantiate and attempt to connect a `MozDebugClient` to a running debug server. It includes basic error handling for a `ConnectionRefusedError`, which is common if no server is active. Ensure a debug server compatible with Mozilla's protocol is running at the specified host and port for a successful connection.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}