Elixir:
डीबगर का उपयोग

कैसे करें:

एलिक्सिर में एक बिल्ट-इन ग्राफिकल डीबगर :debugger के साथ आता है। इसका उपयोग करने के लिए, आपको इसे शुरू करने और अपनी चल रही प्रक्रिया से जुड़ने की आवश्यकता होगी।

पहले, यह सुनिश्चित करें कि आपके iex सत्र में :debugger शुरू हो गया है:

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

अब, उस कोड मॉड्यूल की व्याख्या करें जिसे आप डीबग करना चाहते हैं:

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

आप एक ब्रेकपॉइंट सेट कर सकते हैं:

iex> :int.break(MyApp.MyModule, लाइन_नंबर)
:ok

और फिर, अपने फंक्शन को चलाएं ताकि ब्रेकपॉइंट पर हिट हो और आप अपने कोड के माध्यम से कदम बढ़ा सकें:

iex> MyApp.MyModule.my_function(arg1, arg2)
# डीबगर लाइन पर निष्पादन को रोक देगा जिस पर ब्रेकपॉइंट है

गहन अध्ययन

एलिक्सिर के :debugger से पहले, एरलैंग ने वह डीबगर प्रदान किया जिसका उपयोग एलिक्सिर करता है; यह लचीला है और साथ ही समानांतर प्रक्रियाओं को संभालने में माहिर है, जो एरलैंग VM (BEAM) की एक मधुर विशेषता है। कुछ अन्य डीबगर्स के विपरीत, :debugger सीधे वेरिएबल्स में परिवर्तन नहीं करने देता, एलिक्सिर में डेटा की अपरिवर्तनीय प्रकृति के कारण। विकल्पों के लिए, आपके पास IEx.pry है जो आपको निष्पादन को रोकने और कोड में किसी भी बिंदु पर एक REPL में कूदने देता है, जो बेहद सहायक हो सकता है।

जबकि :debugger एक ग्राफिकल इंटरफेस के लिए अच्छा है, कुछ लोग बिल्ट-इन :observer टूल को पसंद कर सकते हैं जो प्रक्रिया निरीक्षण और सिस्टम मेट्रिक्स भी प्रदान करता है, हालांकि सीधे तौर पर कोड के माध्यम से कदम बढ़ाने पर लक्षित नहीं है। एलिक्सिर के समुदाय ने भी जैसे visualixir और rexbug जैसे टूल प्रदान किए हैं, जो डीबग टूल्स के पारिस्थितिकी तंत्र को मानकों से आगे बढ़ाते हैं।

देखें भी