Elixir:
Debuggerin käyttö

Kuinka:

Elixir sisältää sisäänrakennetun graafisen debuggerin nimeltään :debugger. Käyttääksesi sitä, sinun tarvitsee käynnistää se ja liittää se käynnissä olevaan prosessiisi.

Ensimmäiseksi, varmista, että :debugger on käynnistetty iex-istunnossa:

iex> :debugger.start()
{:ok, #PID<0.108.0>}

Nyt, tulkkaa koodimoduuli, jota haluat debugata:

iex> :int.ni(MyApp.MyModule)
{:module, MyApp.MyModule}

Voit asettaa katkaisukohdan:

iex> :int.break(MyApp.MyModule, line_number)
:ok

Ja sitten, suorita funktiosi osuaksesi katkaisukohtaan ja käydä läpi koodiasi:

iex> MyApp.MyModule.my_function(arg1, arg2)
# Debugger keskeyttää suorittamisen rivillä, jossa katkaisukohta on

Syväsukellus

Ennen Elixiriä :debugger, käytti Erlang tarjotakseen debuggerin, jota Elixir käyttää; se on vankka ja erinomainen käsittelemään samanaikaisia prosesseja, Erlang VM:n (BEAM) vahvuusalue. Toisin kuin jotkin muut debuggerit, :debugger ei salli muuttujien muokkaamista lennosta, johtuen Elixiriin datasta joka on muuttumaton. Vaihtoehtoista apua tarjoaa IEx.pry, joka mahdollistaa suorituksen keskeyttämisen ja hyppäämisen REPL:iin missä tahansa koodissasi, mikä voi olla erittäin kätevää.

Vaikka :debugger on hyvä graafiselle käyttöliittymälle, jotkut saattavat pitää enemmän sisäänrakennetusta :observer-työkalusta, joka tarjoaa myös prosessin tarkastelua ja järjestelmämittareita, vaikkei se erityisesti tähtääkään koodin läpikäymiseen. Elixiriin yhteisö myös osallistuu työkaluja kuten visualixir ja rexbug, laajentaen debuggaustyökalujen ekosysteemiä oletusten ulkopuolelle.

Katso myös