judovana/java-runtime-decompiler

Implement permanent agent

Closed this issue · 5 comments

as current agent have also its benefits, it would be nice if this behaviour woudl be configurable through agent arguments.

Was thinkng about this a bit.

  • we have to do agent uniq per vm. Another instance must be prohibited
    • same approach as bytmenas proeprty shoud be used
  • i thik it still have sense to keep single usage agent
  • for the pernament agents, a config file of vmID port must be ketp in user space
  • gui msut be able to visualise this file (and offer some disconnect button)
    • gui shoudl offer the checbox pernament/temporary agent
  • cli ust be able to visualise it
    • cli must be able to install/uninstall agent
  • and option to clean up remainng agents should be included

implementation itself

  • if agent is about to be attached, it first check if there is already an known connection in the file
  • if so, then it reuses that
  • if not, then it creates new one. If the connectionshoudl be pernament, mark itsel fin file

Once vm is changed, or cli ends, then all non-pernament agents have to be detahced and closed. On contrary, all pernament should be jsut disconnected.

maybe the penament agent shoudl be default in gui (with question about disconnecting onclose). Cli will need switch pernament/temoral whweere efault is temporal for all read operations, and pernament is default for all write operations

the pernament agent is now done. muc more work is needed for other types of agents

Finishec