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
जैसे टूल प्रदान किए हैं, जो डीबग टूल्स के पारिस्थितिकी तंत्र को मानकों से आगे बढ़ाते हैं।
देखें भी
- डीबगिंग पर आधिकारिक एलिक्सिर गेटिंग स्टार्टेड गाइड: https://elixir-lang.org/getting-started/debugging.html
- एरलैंग का
:debugger
डॉक्यूमेंटेशन: http://erlang.org/doc/apps/debugger/debugger_chapter.html - डीबगिंग तकनीकों पर एलिक्सिर फोरम चर्चाएं: https://elixirforum.com/c/elixir-questions/elixir-questions-questions-help/15