Was sind die Debug-Kategorien?

In der Bitcoin-Konfiguration können Sie die Debug-Protokollierung für die folgenden Kategorien festlegen. Ich kann anscheinend keine Erklärung dafür finden, was jede dieser Kategorien tut. Kann jemand sie erklären oder mich in die richtige Richtung weisen?

debug=Kategorie

Debugging-Informationen ausgeben (Standard: 0, Angabe optional). Wenn nicht angegeben oder wenn = 1, alle Debugging-Informationen ausgeben. kann sein:

net, tor, mempool, http, bench, zmq, db, rpc, estimatefee, addrman, selectcoins, reindex, cmpctblock, rand, prune, proxy, mempoolrej, libevent, coindb, qt, leveldb.

Antworten (1)

net: Netzwerken. Alle Nachrichten, die sich auf die Kommunikation mit anderen Knoten im Netzwerk beziehen, einschließlich welche P2P-Nachrichten gesendet und empfangen wurden und an wen und andere Informationen über die Netzwerknachrichten.

tor: TOR. Alle Nachrichten im Zusammenhang mit der Verwendung eines TOR-SOCKS5-Proxys und eines versteckten TOR-Dienstes (der zum Empfangen eingehender Verbindungen über TOR verwendet wird). Dazu gehören Nachrichten über das Erstellen und Herunterfahren des versteckten TOR-Dienstes und Nachrichten über die Verbindung zum TOR-Proxy.

mempool: Speicherpool. Nachrichten im Zusammenhang mit Aktionen, die im Speicherpool ausgeführt werden, einschließlich der Annahme und Entfernung von Transaktionen.

http: HTTP-Server. Nachricht in Bezug auf den HTTP-Server, der zur Verarbeitung der RPC-Anforderungen verwendet wird. Diese Nachrichten beziehen sich normalerweise auf das Starten und Herunterfahren des Servers sowie auf empfangene Anforderungen.

bench: Benchmarks. Meldungen über die Leistung verschiedener Teile der Software, die Leistungsprobleme haben können.

zmq: ZeroMQ. Nachrichten über das ZeroMQ-Benachrichtigungssystem, einschließlich des Startens und Beendens des Dienstes sowie wenn Benachrichtigungen ausgegeben und neue Clients verbunden werden.

db: Wallet-Datenbank. Meldungen über den Status der Berkeley-Datenbank-Engine, die für die Wallet-Datenbank verwendet wird. Dies schließt Nachrichten über die Datenbank-Flushes ein.

rpc: RPC-Server. Meldungen über den RPC-Server, einschließlich dessen Start und Herunterfahren sowie bei der Ausgabe von Befehlen.

estimatefee: Gebührenschätzung. Nachrichten über den Gebührenschätzungsalgorithmus, einschließlich Nachrichten darüber, wann Gebührenschätzungen angefordert werden, und Informationen über den Status des Gebührenschätzers.

addrman: Adressmanager. Meldungen über den Status des Adressmanagers und wenn Adressen zur Adressmanager-Datenbank hinzugefügt oder daraus entfernt werden.

selectcoins: Münzauswahl. Nachrichten über die UTXOs, die beim Geldsenden ausgewählt werden.

reindex: Neuindizierung. Meldungen über den Neuindizierungsprozess, insbesondere Fehler über Blöcke außerhalb der Reihenfolge und wiederholte Blöcke.

cmpctblock: Kompakte Blöcke. Nachrichten über das Compact Blocks-Relay-Protokoll, einschließlich wenn Blöcke teilweise heruntergeladen oder rekonstruiert werden.

rand: Zufälligkeit. Meldungen, wenn Zufälligkeit von irgendeiner Funktion benötigt wird.

prune: Beschneiden. Meldungen über das lokale Blockchain-Pruning, einschließlich des Ergebnisses eines Pruning-Vorgangs.

proxy: Proxy. Meldungen zur Verwendung eines SOCKS5-Proxys und seiner Authentifizierung.

mempoolrej: Speicherpool abgelehnt. Meldungen über Transaktionen, die vom Memory Pool zurückgewiesen wurden.

libevent: Libevent. Meldungen über die libeventBibliothek, die für den HTTP-Server verwendet wird.

coindb: Münzdatenbank. Meldungen über die Münzdatenbank, die das UTXO-Set enthält. Enthält Meldungen zu Datenbank-Flushes und -Schreibvorgängen.

qt: Quat. Meldungen über Qt, das GUI-Framework.

leveldb: LevelDB. Meldungen über LevelDB, das für die Blockindizes und die Münzdatenbank verwendet wird.


Beachten Sie, dass dies keine vollständige Liste der Nachrichtentypen ist, die Sie für jede Kategorie sehen werden. Außerdem haben einige Kategorien viele mögliche Nachrichten, während andere nur sehr wenige haben.

Großartig, danke. Das ist sehr hilfreich. Vielleicht möchten Sie erwägen, dies zur Bitcoin-Github- oder Wiki-Seite hinzuzufügen (vorausgesetzt, es ist noch nicht dort).
Wo in der Quelle könnte man diese Liste finden?
Die Log-Kategorien sind in src/logging.h als Enum LogFlags zu finden.
Siehe auch dieses Dokument von Jon Atack: github.com/jonatack/bitcoin-development/blob/master/…