- Add Troubleshooting section to main README with:
- Missing X11 libraries fix for Linux/WSL (libXtst)
- Java version requirements (JDK 17+ not JRE)
- WSL-specific notes
- How to view daemon logs
- Doctor command usage
- Document startup logging in daemon README
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Capture and log both stdout and stderr from Ghidra/pyghidra at info level
- Log the full command being executed for debugging
- Spawn separate thread to capture stderr while reading stdout
- Include stderr output in error messages when bridge fails to start
- Change default log level from debug to info so logs are visible without RUST_LOG
This helps diagnose issues like missing system libraries (e.g., libXtst.so.6
on WSL/Linux) which previously caused cryptic failures.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Refactor disassembly tests to dynamically resolve addresses and validate instruction schemas.
- Introduce error handling tests for invalid inputs in disassembly.
- Improve patching tests by validating output structure and ensuring graceful failure on invalid inputs.
- Add snapshot tests for output format regression detection in patching and querying commands.
- Update function list and memory map tests to validate JSON output against typed schemas.
- Ensure all tests utilize dynamic address resolution instead of hardcoded values for robustness.
- Implemented `install_pyghidra` function to set up PyGhidra in a Python virtual environment for Ghidra installations.
- Enhanced `install_ghidra` to call `install_pyghidra` after Ghidra installation.
- Updated daemon command handling to include program name in start, restart, and stop commands.
- Refactored project path resolution to streamline project management.
- Improved socket path handling to respect `GHIDRA_CLI_SOCKET` environment variable for testing.
- Modified tests to remove ignore flags, allowing for automated testing without Ghidra installation.
- Added analysis step in test project setup to ensure comments and other features work correctly.