Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Effective Erlang Debugging

Effective Erlang Debugging

One of the strengths of the Erlang programming language is the ability to seamlessly debug and trace Erlang code. Many tools and libraries exist, but they are sometimes under-utilized by the Community.

In this talk we will go through some common techniques and tools to trace and debug Erlang programs, sharing some precious tips and tricks that can make the difference when troubleshooting a complex Erlang system.

Roberto Aloi

October 20, 2020
Tweet

More Decks by Roberto Aloi

Other Decks in Programming

Transcript

  1. ĕ

  2. Óŋģ·­•ĥ†Ĥ U±|­±ÅŠ·t‰t ššh›x ĥĥŋ‰ tģ››Ĥĥt ››|t·· ’ s Šģ››ĤĥŠ›·|­­»ª·’ s

    “ģ››Ĥĥ“Š••’ s ’ĥ•Š±·h••’ s± ±ģ±‰|••Ĥĥ±·h­·• th•±‰|•• ­ģ› x|ģ±‰|••ĤĤĥ±·h­·­|š ·|±‰|•• ¬ĥ¬»Š·|­•h›† ĕű‰ĥ·‰Š±š|±±h†|
  3. ƒ}‘ ÓŋEŠxʼn±ªhÅ›ğ…»›ğĠĥŋ­|t|ŠÄ|ġ ­ šď5±†Ģĥŋ ­ šē5±†|›x|›xĠĎ ŌÒĎÚØĎÒŋ Ôŋxs†Đ·­ht|­ğĠĎ Õŋxs†ĐªğEŠxďšĠĎ ÖŋEŠxēġ±|•…ğĠď‰|••

    ĢĎ ğŌÒĎÚØĎÒŋĠŌŌġŌÒĎÚÖĎÒŋď‰|•• Ģ ğŌÒĎÚØĎÒŋĠŌÒĎÚÖĎÒŋē‰|•• ×ŋ…•»±‰ğĠĎ L‰|••† ·‰|••
  4. ¼‡ƒ}ˑĕ•‡£¹ Óŋ­|xs»†Đ‰|•ªğĠĎ ģĎĎĎĤ ·Šš|ğÓ×ÒÒÒĠ±· ª·­ht|h…·|­·‰Š±šh›Çš± š±†±ğÓÒĠ±· ª·­ht|h…·|­·‰Š±šh›Çš±†± ·h­†|·ğ› x|ğĠĠ› x|·

    ·­ht| › t “Š|ğ‰ ±·t “Š|Ġ·h­†|·› x|t “Š| s• t“Š›†ğ…h•±|Ġs• t“±·h­·ěÔď­|·»­›h•Š±· …š|±±h†|± h­Š·Çğ…h•±|Ġª­Š›·h­Š·ÇŠ›±·|hx …h­†•Š±· ·­ht|ĩt‰Š•xğ…h•±|Ġt‰Š•x­|›†|·±·­ht|xğ±|·ĩ ›ĩ±ªhśĠ ģĎĎĎĤ
  5. ¼‡ƒ}ˑĕ>ƕ‡¼>¹Æ—¯©À ·Šš|ğÓ×ÒÒÒĠ±· ª·­ht|h…·|­·‰Š±šh›Çš± š±†±ğÓÒĠ±· ª·­ht|h…·|­·‰Š±šh›Çš±†± ª­Š›·ĩ…Š•|ğ±·h›xh­xĩŠ Ġª­Š›·· ·‰Š±…Š•| ª­Š›·ĩš±|tğ…h•±|Ġª­Š›·šŠ••Š±|t ›x±

    ›·Šš|±·hšª± ª­ t±ğh••Ġ𕊱· …Ġ­•h›†ª­ t|±±ğ|±Ġ •ÇǺÁĀČČ}¤°‘ĆÁLJª©rªÁĆ°½‘ČǕ‡ ‡r© °°¢Čąč½‡ƒ}̑ •ÇǺÁĀČČ½°}‡½Ç°r¤°—Ć‘—Ç•Ì}Ɨ°Č‡½¤rª‘Čº½°—¤—ª‘Ė‡½¤rª‘Ėrºº¤—~rǗ°ªÁĖÌÁ—ª‘Ė½‡ƒ}̑
  6. ­»±·­h·Š ›ĩ‰··ª±Ĕğğ»›±ª•h±‰Ēt šğª‰ · ±ğ’ÊQG^ÆÇ.a±sÇL|sh±·Šh›$|­­šh›› 6|·Å ­“ĩ‰··ª±Ĕğğ»›±ª•h±‰Ēt šğª‰ · ±ğ;.;;!;ÛÝÞ|

    sÇ›h±·h±Šh»•†Š|­ ! h•±ĩ‰··ª±Ĕğğ»›±ª•h±‰Ēt šğª‰ · ±ğ06Ê»;.×!ÆHUsÇ5h­“»±_Š›“•|­  5 ­|ĩ‰··ª±Ĕğğ»›±ª•h±‰Ēt šğª‰ · ±ğ.֛ÞĮÛÞ5GsÇh­•$|Ç|­xh‰• »†ĩ‰··ª±Ĕğğ»›±ª•h±‰Ēt šğª‰ · ±ğÊßßĭĩÜ5xa5sÇhĊx• x| »†Øĩ‰··ª±Ĕğğ»›±ª•h±‰Ēt šğª‰ · ±ğ ^ÙÊQ.ÝÄ»EÖsÇEh»• dŠ|š|­ _ x|›­št‰hŠ­ĩ‰··ª±Ĕğğ»›±ª•h±‰Ēt šğª‰ · ±ğG;·.¬Þ|‰tÅsÇ5Št‰|••|Š›† ­hŠ›±· ­šĩ‰··ª±Ĕğğ»›±ª•h±‰Ēt šğª‰ · ±ğ¬؛ÜHGUÚ^ÅsÇU`%›x ›|±Šh LªŠ­h• ›t­|·|L·hŠ­±ĩ‰··ª±Ĕğğ»›±ª•h±‰Ēt šğª‰ · ±ğ»ØxÖEd `;asÇQŠ›|%Äh›Št Q^ĩ‰··ª±Ĕğğ»›±ª•h±‰Ēt šğª‰ · ±ğ.ج6ÜÞE†ÜQ%sÇhÄ|_|h·‰|­h•• L‰|••ĩ‰··ª±Ĕğğ»›±ª•h±‰Ēt šğª‰ · ±ğ_ Ê×Üa $t%sÇh­ ›»­x|› 0 ††Š›†ĩ‰··ª±Ĕğğ»›±ª•h±‰Ēt šğª‰ · ±ğhÚ»EGt-“0ÞsÇ›x­|ÅHŠx•|Ç Q •±ĩ‰··ª±Ĕğğ»›±ª•h±‰Ēt šğª‰ · ±ğ±Þ;;Øĩ·ĩ$šGsÇ$»›·|­$h•|Ç _­Š·Š›†ĩ‰··ª±Ĕğğ»›±ª•h±‰Ēt šğª‰ · ±ğ±ßØL.ÇL-5sÇ!­||›‰hš|•| › H|xs»†ĩ‰··ª±Ĕğğ»›±ª•h±‰Ēt šğª‰ · ±ğ±ÊÖ·Ö%× 0sÇ6|­Š›†h$¾››|…|•x 5h†ŠtŠh›ĩ‰··ª±Ĕğğ»›±ª•h±‰Ēt šğª‰ · ±ğٛÝx•“5…†sÇ­·|š5h•·±|^ L»ššh­Çĩ‰··ª±Ĕğğ»›±ª•h±‰Ēt šğª‰ · ±ğ^EÊH†x݆…tsÇsÇ.|••ÇLŠ““|šh H•¯Æ¯¼‡ƒ—ÆÀ