Home Homebrew Rilasciato Twili – Homebrew Debug Monitor (ora con stub GDB) v1.4.0-pre2

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

364
0

Pubblicata una seconda preview della versione 1.4.0 di 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 v1.4.0-pre2

Aggiunte

  • Aggiunto un watchdog per ottenere, si spera, una visione migliore dei deadlock del sysmodule.
  • Aggiunta la ricerca del codice di errore a twib (twib err).

Cambiamenti

  • I core dump non includono più i mapping IO.
  • AppletTracker ora rinvia la lettura di hbmenu fino a quando non è necessario, quindi puoi eseguire Twili senza hbmenu e non si bloccherà.
  • Aggiornato libtransistor.

Correzioni

  • Corretto il problema con USBBridge su firmware 11.0.0+.

Changelog v1.4.0-pre1

Aggiunte

  • Aggiunta integrazione launchd per twibd (grazie a @liuervehc).
  • Aggiunta la classe SystemVersion per il monitoraggio delle versioni del firmware.
  • Aggiunto supporto per il firmware 10.0.0 (PGL).
  • Aggiunto output più dettagliato per le chiamate ITwibDebugger.
  • Aggiunto “none” alle posizioni di archiviazione comprese dal lancio di twib (grazie a @averne).
  • Aggiunto il comando twib-get-module-info.
  • Aggiunto il comando “monitor get base” a gdb stub.

Rimozioni

  • Rimosso il modulo process_creation ormai obsoleto.
  • Rimosso il titolo 0100000000006482 Hack ECS (non più necessario).

Cambiamenti

  • Aggiornato a c++ 20.
  • Spostata la maggior parte del codice di servizio in Services.cpp, basato sulla versione del firmware.
  • Ricostruito il codice di gestione degli errori per non utilizzare le eccezioni.
  • Resa la confusione ECS un errore critico.
  • Aggiunto output ShellTracker al debug di twib.

Correzioni

  • Corrette le risposte a 0 byte (grazie a @comex).
  • Corretto il problema con il file di unità systemd per twibd.
  • Corretto il problema della riga di comando di esecuzione di twib (“Managed process has been removed.”).
  • Corretto il problema con ShellTracker che riceveva notifiche di processo sul thread sbagliato.
  • Corretto il problema con l’uccisione e l’interruzione dei processi di avvio sospesi.
  • Corretto il problema con la risposta LaunchProgram.
  • Corretto l’ordine di distruzione di ITwibDebugger wait_handle.
  • Corretto il problema con la logica non sicura del riavvio invertito.

Download: Twili – Homebrew Debug Monitor v1.4.0-pre2

Download: Twibd Linux64

Download: Twib Linux64

Download: Source code Twili – Homebrew Debug Monitor v1.4.0-pre2

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.