Ho appena iniziato con Erlang, quindi non c'è ancora nulla di complesso nel mio codice. Spesso faccio degli errori che portano a errori di runtime.Come capire cosa ha causato un errore di runtime in Erlang?
Il problema è che ho sempre vedere le cose in questo modo:
{ "init terminante in do_boot", {undef, [{ 'lexer_app.beam', avviare, [], []}, {init , start_it, 1, []}, {init, start_em, 1, []}]}}
crash dump è in fase di scrittura: erl_crash.dump ... fatto init terminante in do_boot()
Che difficilmente mi dà informazioni rapide su cosa è andato storto. Quindi, mi chiedo, è l'unico modo per eseguire il debug degli errori come questo per esaminare in erl_crash.dump, che è, francamente, sembra abrakadabra totale e ho bisogno di capire in qualche modo anche semplici errori stupidi esaminandolo ?
Le domande principali, è possibile ottenere più errori di tipo umano, ad esempio "Variabile 5: 6 Persona di tipo stringa non assegnabile al tipo numero"?
Qual è il normale flusso di lavoro per il debug dell'applicazione?
qui potete leggere l'inizio del messaggio: l'init del VM ferma do_boot perché ha trovato un chiama a una funzione indefinita: 'lexer_app.beam': start. Immagino che tu abbia iniziato con "erl -s lexer_app.beam" invece di "erl -s lexer_app", con la possibilità di aggiungere il percorso al file del fascio "erl -s lexer_app -pa path/to/beam" – Pascal