Stellen Sie in Remix einen Vertrag bereit oder führen Sie eine Transaktion aus.
Gehen Sie zur Transaktionsliste (auf der Registerkarte Deploy & Run
“) und klicken Sie auf das „Bug“-Symbol neben der Transaktion, an der Sie interessiert sind. Dadurch wird der Debugger gestartet.
Sobald Sie sich im Debugger befinden:
Navigation: Verwenden Sie die Schrittsteuerung, um durch jeden Vorgang Ihrer Transaktion zu navigieren. Sie können über, in oder aus Funktionen springen und zu einem bestimmten Schritt springen.
Detailbereich: In diesem Bereich werden Opcode-Details, der aktuelle Ausführungsschritt und andere relevante Details angezeigt.
Solidity Locals: Zeigt die lokalen Solidity-Variablen und ihre aktuellen Werte an.
Status: Zeigt die Statusänderungen des Vertrags an. Dies ist ein großartiger Ort, um unerwartete Änderungen zu erkennen, die zu höheren Gasgebühren führen können.
Aufrufstapel: Veranschaulicht den aktuellen Funktionsaufrufstapel. Nützlich zum Verständnis des aktuellen Ausführungskontexts.
Speicheränderungen: Hebt Änderungen am Speicher während der Ausführung hervor. Nützlich zur Identifizierung potenzieller Bereiche der Gasoptimierung.
Der Debugger dient nicht nur der Behebung von Fehlern; Es ist auch ein hervorragendes Tool zur Profilierung des Gasverbrauchs Ihres Vertrags. So können Sie das Beste daraus machen:
Identifizieren Sie Schritte mit hohem Gasverbrauch: Überwachen Sie beim Durchgehen Ihres Codes den Gasverbrauch bei jedem Schritt. Hohe Gasstufen könnten Optimierungsziele sein.
Überwachen Sie Speicheraktionen: Übermäßige Speicheränderungen, insbesondere solche, die nicht delete
werden, können Gasfresser sein.
Funktionsaufrufe: Externe Funktionsaufrufe, insbesondere zu anderen Verträgen, können teuer sein. Stellen Sie sicher, dass sie notwendig sind.
Lassen Sie uns den Remix Debugger mit einem einfachen Vertrag verwenden:
Solidität
Pragma Solidität ^0.8.9;
Vertrag GasProfiler {
uint256 public count;
function setCount(uint256 _count) public {
for (uint256 i = 0; i < _count; i++) {
count += i;
}
}
}
Stellen Sie den Vertrag in Remix bereit und interagieren Sie mit ihm.
Verwenden Sie den Debugger für die setCount
Funktion und identifizieren Sie die gasintensiven Vorgänge. Hier verbraucht der Schleifenbetrieb mehr Gas, wenn _count
zunimmt.
Remix Debugger zu verstehen und optimal zu nutzen ist eine Fähigkeit, die nicht nur bei der Diagnose von Problemen hilft, sondern auch bei der Verfeinerung Ihres Vertrags, um ihn gaseffizient zu machen. Indem Sie Ihren Code schrittweise durchgehen, können Sie Ineffizienzen erkennen, die auf einer höheren Ebene möglicherweise nicht erkennbar sind.
Stellen Sie in Remix einen Vertrag bereit oder führen Sie eine Transaktion aus.
Gehen Sie zur Transaktionsliste (auf der Registerkarte Deploy & Run
“) und klicken Sie auf das „Bug“-Symbol neben der Transaktion, an der Sie interessiert sind. Dadurch wird der Debugger gestartet.
Sobald Sie sich im Debugger befinden:
Navigation: Verwenden Sie die Schrittsteuerung, um durch jeden Vorgang Ihrer Transaktion zu navigieren. Sie können über, in oder aus Funktionen springen und zu einem bestimmten Schritt springen.
Detailbereich: In diesem Bereich werden Opcode-Details, der aktuelle Ausführungsschritt und andere relevante Details angezeigt.
Solidity Locals: Zeigt die lokalen Solidity-Variablen und ihre aktuellen Werte an.
Status: Zeigt die Statusänderungen des Vertrags an. Dies ist ein großartiger Ort, um unerwartete Änderungen zu erkennen, die zu höheren Gasgebühren führen können.
Aufrufstapel: Veranschaulicht den aktuellen Funktionsaufrufstapel. Nützlich zum Verständnis des aktuellen Ausführungskontexts.
Speicheränderungen: Hebt Änderungen am Speicher während der Ausführung hervor. Nützlich zur Identifizierung potenzieller Bereiche der Gasoptimierung.
Der Debugger dient nicht nur der Behebung von Fehlern; Es ist auch ein hervorragendes Tool zur Profilierung des Gasverbrauchs Ihres Vertrags. So können Sie das Beste daraus machen:
Identifizieren Sie Schritte mit hohem Gasverbrauch: Überwachen Sie beim Durchgehen Ihres Codes den Gasverbrauch bei jedem Schritt. Hohe Gasstufen könnten Optimierungsziele sein.
Überwachen Sie Speicheraktionen: Übermäßige Speicheränderungen, insbesondere solche, die nicht delete
werden, können Gasfresser sein.
Funktionsaufrufe: Externe Funktionsaufrufe, insbesondere zu anderen Verträgen, können teuer sein. Stellen Sie sicher, dass sie notwendig sind.
Lassen Sie uns den Remix Debugger mit einem einfachen Vertrag verwenden:
Solidität
Pragma Solidität ^0.8.9;
Vertrag GasProfiler {
uint256 public count;
function setCount(uint256 _count) public {
for (uint256 i = 0; i < _count; i++) {
count += i;
}
}
}
Stellen Sie den Vertrag in Remix bereit und interagieren Sie mit ihm.
Verwenden Sie den Debugger für die setCount
Funktion und identifizieren Sie die gasintensiven Vorgänge. Hier verbraucht der Schleifenbetrieb mehr Gas, wenn _count
zunimmt.
Remix Debugger zu verstehen und optimal zu nutzen ist eine Fähigkeit, die nicht nur bei der Diagnose von Problemen hilft, sondern auch bei der Verfeinerung Ihres Vertrags, um ihn gaseffizient zu machen. Indem Sie Ihren Code schrittweise durchgehen, können Sie Ineffizienzen erkennen, die auf einer höheren Ebene möglicherweise nicht erkennbar sind.