> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tenderly.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Tenderly Debugger का उपयोग कैसे करें

> Tenderly Debugger के साथ transaction execution के माध्यम से line by line step करें, state changes का निरीक्षण करें, और किसी भी smart contract में सटीक revert point की पहचान करें।

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 →](https://www.loom.com/share/09413e8a867f4ddeaa41a5080d771895?sid=b8f60cda-fcb8-401b-ba9a-8bb69630fe9a)

## Debugger quickstart

Debugger का उपयोग करने के लिए, आपको एक specific transaction से शुरुआत करने की आवश्यकता है। इस [example transaction](https://dashboard.tenderly.co/tx/0x1696cfc031695003b8a58f0379c7f111b34c7612a67681354dc57cb5853c5c63/debugger?trace=0.2.6.21.1\&pk_vid=4405d1610803d9751776942168287f02) को आज़माएँ।

1. बाईं ओर **Transactions** tab पर जाएँ या ऊपरी Explorer bar में transaction hash search करें।
2. ऊपर दाईं ओर स्थित **Debugger** बटन पर क्लिक करें।

Debugger interface चार मुख्य panels से बना है:

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/developer-explorer/debugger/debugger-panels-2.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=92882c878f9b4a3afcd74585ccc50f10" alt="Debugger panels" width="2672" height="1426" data-path="images/developer-explorer/debugger/debugger-panels-2.webp" />

* **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 या केवल `CALL`s और `DELEGATECALL`s के बीच view को filter करने की अनुमति देता है।

आप trace के किसी भी हिस्से पर सीधे comments भी छोड़ सकते हैं, जो collaboration या व्यक्तिगत notes के लिए उपयोगी है।

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/developer-explorer/debugger/comment-execution-trace.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=514b1c5f8580c458d5c743d7f8637e62" alt="Debugger panels" width="4076" height="2382" data-path="images/developer-explorer/debugger/comment-execution-trace.webp" />

## 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 करने में मदद करते हैं।

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/developer-explorer/debugger/debugger-skip-call-trace.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=fcafc5a099f21f819759b0002839b5f6" alt="Debugger panels" width="2672" height="1426" data-path="images/developer-explorer/debugger/debugger-skip-call-trace.webp" />

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

**Evaluate** feature आपको Debugger के भीतर सीधे expressions का परीक्षण करने की अनुमति देता है। यह global variables, contract variables, function arguments, और local variables की जाँच के लिए एकदम सही है।

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/developer-explorer/debugger/debugger-evaluate.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=c1726756dfca3e675a17b82927c08a05" alt="Eval modal" width="4076" height="2382" data-path="images/developer-explorer/debugger/debugger-evaluate.webp" />

**Evaluate** का वर्तमान संस्करण arrays और structs के रूप में expressions का समर्थन करता है। Tuples समर्थित नहीं हैं इसलिए उनका मूल्यांकन नहीं किया जा सकता है।

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/developer-explorer/debugger-1.png?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=0913ef862d74b729b4ec58c4e1230d22" alt="Debugger + expressions visible for Eval" width="3584" height="2274" data-path="images/developer-explorer/debugger-1.png" />

<Note>
  ध्यान दें कि Evaluate अभी भी विकास के अधीन है और हम इसे और भी शक्तिशाली बनाने के लिए कड़ी मेहनत कर रहे हैं।
</Note>
