Home News Rilasciato Twili – Homebrew Debug Monitor (ora con stub GDB) v1.3.0

[Scena Switch] Rilasciato Twili – Homebrew Debug Monitor (ora con stub GDB) v1.3.0

230
0

Pubblicato un nuovo aggiornamento per Twili, il monitor di debug personalizzato sviluppato dal team ReSwitched per console Nintendo Switch.

L’aspetto del monitor di debug mira a fornire una sana soluzione per stdio e logging, al punto da facilitarne lo sviluppo generando rapporti sugli arresti anomali e consentendo il debug delle applicazioni in esecuzione.

L’aspetto del bridge di debug mira a fornire utilità simili a ADB, consentendo un sideload rapido e conveniente.

Caratteristiche

  • Questo strumento consente di inviare e avviare homebrew tramite USB (o TCP).
  • Se l’applicazione homebrew è compatibile, ti permette di avere anche stdin/stdout/stderr su USB, tramite lo strumento da riga di comando. Ciò consente un ciclo di sviluppo più rapido.
  • Se non hai bisogno che il tuo homebrew sia un’applet (stai sviluppando un sysmodule in background), puoi ridurre ulteriormente i tempi di iterazione prevenendo errori fatali quando il sysmodule si arresta inevitabilmente.
  • Puoi utilizzare GDB per eseguire il debug dell’applicazione homebrew (applet, sysmodule, ecc…) o persino software ufficiale.
  • Quando qualcosa si arresta in modo anomalo, puoi generare un dump del core ELF che puoi caricare nel debugger (aarch64-linux-gnu-elf) per aiutarti a capire cosa è andato storto invece di dover spegnere la console, rimuovere la scheda SD , cercare il registro degli arresti anomali e utilizzare addr2line per trasformarlo in qualcosa di significativo.
  • Ho già detto che puoi eseguire il dump core di qualsiasi processo e non solo di homebrew?
  • Ti consente di interrogare l’utilizzo complessivo della RAM sulla console.
  • Ti consente di ottenere un elenco di tutti i processi in esecuzione sulla console e …
  • Ti permette anche di terminarli.
  • Se il debug di basso livello è il tuo stile, ti consente anche di eseguirne il debug. A partire dalla 1.2.0, c’è persino uno stub GDB.

FAQ

Domanda: Come posso usare l’IO standard di Twili?
Risposta: Se stai utilizzando libtransistor, lo ottieni gratuitamente. Se stai utilizzando libnx, puoi collegarti a libtwili (disponibile all’interno della repository twili-libnx). Se avvii l’applicazione tramite twib run, stdout/stderr andrà alla tua console e stdin proviene da quella console. Se si avvia in altro modo, stdout/stderr passerà ai registri twibd e stdin si bloccherà.

Domanda: In cosa differisce da nx-hbloader/nxlink?
Risposta: Oltre ad avere molte più funzioni, esegue ogni homebrew nel proprio processo, che è una tabula rasa tranne un piccolo stub che fornisce le chiavi HBABI. Ciò significa che l’homebrew può gestire la propria memoria e non deve preoccuparsi di ripulire completamente dietro se stesso per la prossima applicazione.

Domanda: Ha uno stub GDB?
Risposta: A partire dalla versione 1.2.0, sì! Consultare il README all’interno della repository github per ulteriori istruzioni.

Domanda: Su quali versioni del firmware funziona?
Risposta: Per quanto ne so, tutte. Il firmware 1.0.0 potrebbe comportarsi in modo leggermente diverso rispetto agli errori irreversibili di arresto anomalo del sistema.

Domanda: Su quali CFW funziona?
Risposta: L’unico CFW su cui posso confermare la funzionalità e supportare attivamente è Atmosphère, e solo versioni un po’ recenti (0.10.2+). Twili è stato testato su Atmosphère 0.10.2. Twili potrebbe funzionare su altri CFW con alcune modifiche.

Domanda: Cosa devo sapere prima di installarlo?
Risposta: Sostituisce nx-hbloader. Ciò significa che sostituisce hbl.nsp. Se non ti piace Twili e vuoi rimuoverlo, non dimenticare di rimettere hbl.nsp di nx-hbloader.

Domanda: Come posso installarlo?
Risposta: Vedere le istruzioni di installazione all’interno della repository GitHub.

Domanda: Qual è la versione più recente?
Risposta: La versione più recente è Twili 1.3.0. Aggiorna anche Twib ad ogni versione, poiché sono incluse correzioni di bug.

Changelog

Questa versione include molte correzioni. In particolare, ManagedProcess è stato sostituito con ShellProcess. Questo risolve i problemi di accesso al filesystem durante l’esecuzione di sysmodule tramite twib run. Inoltre, la registrazione USB è stata disabilitata per impostazione predefinita. Ciò significa che hbmenu verrà avviato senza USB collegato.

Changelog

Aggiunte

  • Aggiunto elenco di librerie allo stub gdb.
  • Aggiunti altri comandi del filesystem (#84#81).
  • Aggiunto supporto per la lettura e la scrittura di registri FPU nello stub GDB.
  • Aggiunto ShellProcess.

Rimozioni

  • Rimosso ManagedProcess.

Cambiamenti

  • A questo punto è possibile richiedere la chiusura del processo dell’applet prima dell’avvio.
  • Dimensione dello stack del processo dell’applet sollevata.
  • Aggiornato per le modifiche di Atmosphere.
  • Rifattorizzate molte funzionalità di AppletProcess in ECSProcess e TrackedProcess.
  • Registrazione USB disabilitata per impostazione predefinita, poiché confonde le persone.
  • Il comando Reboot ora utilizza spsm e riavvia il payload.
  • Twili ora mostra meglio le informazioni nella schermata degli errori fatali.

Correzioni

  • Corretto il problema con la chiusura degli oggetti USB durante la connessione TCP (#70).
  • Aggirato LIBUSB_ERROR_ACCESS quando udev è lento nel modificare le autorizzazioni.
  • Corretto il problema con HandleReadMemory che non tornava dopo l’errore (#74).
  • Corretto il problema con i thread di elaborazione multiprocesso GDB (presumibilmente migliora la compatibilità IDA).
  • Corretto il problema con Xcode clang asan build error.
  • Corretto il problema con il file di servizio systemd per utilizzare il percorso assoluto.
  • Corretto l’errore di percorso libusb_claim_interface.
  • Corretto il problema relativo alla segnalazione degli errori ‘ENN’ dello stub gdb.
  • Corretto blockingconcurrentqueue su macOS.
  • Corretti diversi deadlock twibd.
  • Corretto il problema con MonitoredProcess che ingoiava errori sconosciuti.
  • Corretto un problema con la gestione del file twili.ini.
  • Aggirato il debug del PID 0.

Download: Twili – Homebrew Debug Monitor v1.3.0

Fonte: github.com

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.