मुख्य सामग्री पर जाएं
Tenderly Debugger एक EVM transaction के execution के माध्यम से एक बार में एक call और एक source line पर step करता है, execution trace, stack, contract state, और सटीक बिंदु को उजागर करता है जहाँ transaction revert होता है। इसका उपयोग यह जानने के लिए करें कि transaction क्यों विफल हुई, किसी भी step पर contract state का निरीक्षण करें, और सत्यापित Solidity source के विरुद्ध transaction को replay करें। Debugger का उपयोग करने की मूल बातें जानने के लिए इस त्वरित वीडियो को देखें और विस्तृत feature walkthrough के लिए नीचे quickstart का पालन करें। Watch on Loom →

Debugger quickstart

Debugger का उपयोग करने के लिए, आपको एक specific transaction से शुरुआत करने की आवश्यकता है। इस example transaction को आज़माएँ।
  1. बाईं ओर Transactions tab पर जाएँ या ऊपरी Explorer bar में transaction hash search करें।
  2. ऊपर दाईं ओर स्थित Debugger बटन पर क्लिक करें।
Debugger interface चार मुख्य panels से बना है: Debugger panels
  • Execution trace (ऊपर बाईं ओर): transaction के दौरान की गई calls का क्रम प्रदर्शित करता है।
  • Smart contract source code (ऊपर दाईं ओर): contract का code दिखाता है जिसके साथ interact किया जा रहा है।
  • Stack trace (नीचे बाईं ओर): वर्तमान function तक ले जाने वाली called methods को सूचीबद्ध करता है।
  • Call information (नीचे दाईं ओर): वर्तमान call के बारे में विस्तृत जानकारी प्रदान करता है।

Execution trace

Execution Trace section आपको transaction के life cycle के दौरान की गई हर call देखने देता है। एक handy toggle आपको full trace या केवल CALLs और DELEGATECALLs के बीच view को filter करने की अनुमति देता है। आप trace के किसी भी हिस्से पर सीधे comments भी छोड़ सकते हैं, जो collaboration या व्यक्तिगत notes के लिए उपयोगी है। Debugger panels

Stack trace

Stack Trace उन methods पर एक नज़र प्रदान करता है जो सक्रिय function call तक invoke की गई हैं, जिससे आपको transaction के flow की स्पष्ट तस्वीर मिलती है।

Call जानकारी को Decode करना

यहाँ, आपको JSON format में transaction के execution trace में वर्तमान call के बारे में decoded विवरण मिलते हैं। इसमें शामिल हैं:
  • Invoked function का नाम
  • Opcodes (JUMP, CALL, DELEGATECALL, STATICCALL, CREATE2, CREATE, REVERT, JUMPDEST)
  • Contract और caller addresses, साथ ही caller का balance
  • Decoded inputs और outputs
  • Gas usage stats, जो कुल उपयोग की गई gas, वर्तमान function द्वारा उपभोग की गई gas, और शेष gas दिखाते हैं

Call trace के माध्यम से Navigate करना

Debugger के navigation बटनों के साथ call trace और code lines के माध्यम से कूदना सीधा है। Next/Previous आपको call trace के माध्यम से ले जाता है, जबकि Step Up और Step Over आपको stack trace और call levels को navigate करने में मदद करते हैं। Debugger panels

Expressions का मूल्यांकन

Evaluate feature आपको Debugger के भीतर सीधे expressions का परीक्षण करने की अनुमति देता है। यह global variables, contract variables, function arguments, और local variables की जाँच के लिए एकदम सही है। Eval modal Evaluate का वर्तमान संस्करण arrays और structs के रूप में expressions का समर्थन करता है। Tuples समर्थित नहीं हैं इसलिए उनका मूल्यांकन नहीं किया जा सकता है। Debugger + expressions visible for Eval
ध्यान दें कि Evaluate अभी भी विकास के अधीन है और हम इसे और भी शक्तिशाली बनाने के लिए कड़ी मेहनत कर रहे हैं।