


Wie kann ich den Namen der aktuellen Funktion in Go zum Debuggen abrufen?
So erhalten Sie Funktionsnamen zum Debuggen
Um die Debugging-Funktionen zu verbessern, ist es entscheidend, den Namen der aktuellen Funktion zu erhalten. Ähnlich wie das FUNCTION-Makro von gcc bietet Go Mechanismen zum Abrufen dieser Informationen.
Betrachten Sie die folgende Funktion:
func foo() { trace() }
Wir möchten, dass Informationen wie z. B. automatisch gedruckt werden "Eingabe von foo()...".
Das Laufzeitpaket bietet das Notwendige Funktionalität:
import "fmt" func trace() { pc := make([]uintptr, 10) // At least one entry required runtime.Callers(2, pc) // Get the function associated with the program counter f := runtime.FuncForPC(pc[0]) // Obtain the file name, line number, and function name file, line := f.FileLine(pc[0]) fmt.Printf("%s:%d %s\n", file, line, f.Name()) }
In diesem Skript füllt Callers den PC-Slice mit Programmzählern, die den aufrufenden Funktionen zugeordnet sind. Anschließend verwenden wir FuncForPC, um die Funktion abzurufen, die dem ersten Programmzähler im Slice zugeordnet ist. Schließlich stellt FileLine den Dateinamen, die Zeilennummer und den Funktionsnamen bereit, die auf der Konsole ausgegeben werden.
Das obige ist der detaillierte Inhalt vonWie kann ich den Namen der aktuellen Funktion in Go zum Debuggen abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

GO Language Pack Import: Was ist der Unterschied zwischen Unterstrich und ohne Unterstrich?

Wie kann ich kurzfristige Informationsübertragung zwischen Seiten im BeEGO-Framework implementieren?

Wie konvertieren Sie die Liste der MySQL -Abfrageergebnisse in eine benutzerdefinierte Struktur -Slice in Go -Sprache?

Wie kann ich benutzerdefinierte Typ -Einschränkungen für Generika in Go definieren?

Wie schreibe ich Scheinobjekte und Stubs zum Testen in Go?

Wie schreibe ich Dateien in Go Language bequem?

Wie kann ich Tracing -Tools verwenden, um den Ausführungsfluss meiner GO -Anwendungen zu verstehen?
