diff options
| author | blasty <blasty@local> | 2026-07-23 00:14:59 +0200 |
|---|---|---|
| committer | blasty <blasty@local> | 2026-07-23 00:14:59 +0200 |
| commit | d259039706c25fe99096ecdf3302987a3a792ebb (patch) | |
| tree | a27ef56abf634264f961468dae1127e9cb235086 /server/patch_server.py | |
| parent | app: 'd' — define typed data in the listing (make_data, M3) (diff) | |
| download | ida-tui-d259039706c25fe99096ecdf3302987a3a792ebb.tar.gz ida-tui-d259039706c25fe99096ecdf3302987a3a792ebb.tar.xz ida-tui-d259039706c25fe99096ecdf3302987a3a792ebb.zip | |
launch: `ida-tui foo.elf` one-shot wrapper (server + locks + session)
A caveman entry point so you don't hand-craft the plumbing every time. It:
* ensures the ida-pro-mcp supervisor is up — starts spawn.sh detached
(start_new_session, tmux-free) and waits for the port if it's down;
* recovers a binary wedged by a hard-killed worker — sweeps the stale
unpacked .id0/.id1/.id2/.nam/.til next to the .i64 and retries (the packed
.i64 is never touched);
* adopts an already-open session for the same binary (idempotent), else
idb_opens it with a sane idle-TTL;
* launches the TUI attached to that session with keepalive on.
./ida-tui /path/to/binary # open a binary and drive it
./ida-tui # attach to the sole session
./ida-tui --db <id> # attach to a specific session
Pieces: idatui/launch.py (logic, reuses pane.py's server probe), a repo-root
`ida-tui` sh wrapper (resolves ~/ida-venv python, keeps idatui importable from
any cwd), and an `ida-tui` console-script in pyproject. --help works without
textual (app imported late). README documents both the one-liner and the
manual recovery. gitignore bin/ (binary targets, like targets/).
Verified live: ensure_server up-detection, open, adopt (same session id), and
lock-sweep all work against a running supervisor.
Diffstat (limited to 'server/patch_server.py')
0 files changed, 0 insertions, 0 deletions
