Допис
Діліться своїми знаннями.

Debugging & Local Tracing Tools for Sui: A Developer's Toolkit
Are you tired of dealing with non-obvious reverts and cryptic Move panic messages? 😩 Do you want to learn how to debug Move code and transaction behavior quickly? 🔍 Look no further! In this article, we'll provide step-by-step debug strategies and tools to diagnose Move code and runtime execution problems.
Reproduce Locally 📍
- Start a local devnet and use deterministic test accounts.
- Use
sui move test
with verbose flags to see failing test details.
Use Move Abort Codes and Custom Error Messages 📝
- Add
abort
with meaningful error codes or useassert
with message macros. - Map error codes to descriptions in docs for frontends to show user-friendly messages.
Instrumentation 🔍
- Add event emissions in Move for critical state transitions.
- Listen for events using
provider.getEvents
in TypeScript for easy tracing.
Transaction Inspection 🔎
- Read transaction effects (gas used, mutated objects) after submission.
- Compare expected mutated object versions with actual ones to find which operation failed.
Advanced Tracing 🔝
- Use commit-level logs or a debugger that steps into Move execution (if supported).
- Automate capture of full transaction payload + effects for failing CI tests.
Debug Like a Pro 💡
By following these step-by-step debug strategies and using the right tools, you'll be able to:
- Identify and fix issues quickly
- Improve your Move code and transaction behavior
- Provide better user experiences with user-friendly error messages
Happy debugging!
- SDKs and Developer Tools
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Зароби свою частку з 1000 Sui
Заробляй бали репутації та отримуй винагороди за допомогу в розвитку спільноти Sui.

- Чому BCS вимагає точного порядку полів для десеріалізації, коли структури Move мають названі поля?65
- Помилки перевірки кількох джерел» у публікаціях модуля Sui Move - автоматичне вирішення помилок55
- Невдала операція Sui: об'єкти, зарезервовані для іншої транзакції49
- Як максимізувати прибуток від SUI: Sui Staking проти Liquid Staking313
- Помилка Sui Move - Неможливо обробити транзакцію Не знайдено дійсних газових монет для транзакції315