Domanda

Esiste un modo per acquisire le istruzioni trace dell'app Flex mentre non è in esecuzione in modalità debug?

Oppure esiste un altro modo per generare informazioni di registrazione quando non si esegue un debugger?

Attualmente sto cercando di correggere un bug che si presenta solo in uno scenario di distribuzione molto specifico, ma in alcuni casi questo è utile per i clienti che inviano log all'assistenza tecnica quando segnalano bug o altri problemi.

È stato utile?

Soluzione

Suppongo che tu stia parlando di Adobe Flex, prendendo di mira Flash Player?

In tal caso, è possibile scrivere la propria classe wrapper di registrazione che propaga i messaggi di registro inviati ad esso su più destinazioni (come lo stack di traccia e la memoria interna in modo da poter accedere al registro dall'app e ad es. inviarlo a un server quando l'utente accetta di inviare una segnalazione di bug). Vedi anche il Flex logging framework per qualcosa in questo modo che esiste già.

In realtà ho fatto qualcosa del genere: ho una classe chiamata Log con metodi statici come log () , debug () , errore () ecc. che utilizzo nelle mie app e questa classe inoltra tutti i messaggi inviati nello stack di traccia tramite trace () , in un " console di registro " app in esecuzione sullo stesso host tramite LocalConnection e / o Socket (una connessione socket è ovviamente molto più veloce di LocalConnection) e li salva anche localmente in un array in modo che gli utenti possano inviare segnalazioni di bug insieme all'output del registro direttamente dall'app.

Questa sorta di cambio di rotta significa che dovresti tradurre tutti i comandi trace () nel tuo codice in chiamate al sistema di registrazione, ma ciò può essere facilmente ottenuto con una ricerca regex & amp; sostituzione.

Altri suggerimenti

Esiste un progetto su Google Code chiamato Thunder Bolt che consente scrivere messaggi di log che appariranno in FireBug durante l'esecuzione dell'applicazione in Firefox (presupponendo ovviamente che l'estensione sia installata.)

La registrazione con questo strumento è semplice come:

import org.osflash.thunderbolt.Logger;

var myNumber: int = 5;
var myString: String = "Lorem ipsum";
Logger.error ("Logging two objects: A number typed as int and a string", myNumber, myString);

Ho usato alcon in passato.

http://blog.hexagonstar.com/alcon/

Puoi provare XPanel da Farata Systems. Questa è un'interfaccia utente nativa di Windows che può mostrare i messaggi di registro usando l'API di registrazione Flex 3 anche per le applicazioni Flex in esecuzione in un browser. Purtroppo hanno riprogettato il loro sito e non riesco più a trovarlo ... Forse Google ti aiuterà.

Abbiamo fatto qualcosa di diverso usando JavaScript. Il cliente può aprire una pagina 'speciale' che mostra le istruzioni di registrazione e traccia usando DHTML. L'applicazione Flex chiama una funzione JavaScript che indica all'applicazione se questa pagina è aperta o meno. In caso contrario, la registrazione è disabilitata. Se è aperto, la registrazione è abilitata e tutte le istruzioni di registro vengono aggiunte a questa pagina.

Notare che non c'è modo di scrivere continuamente l'output di registrazione nel filesystem a causa delle restrizioni del sandbox. Tuttavia, un cliente può facilmente copiare e incollare l'output della finestra di registrazione come spiegato sopra.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top