Not logged inClonkspot Forum
Forum Home Help Search Register Login
Up Topic Deutsch / Hilfestellung / Debug Records
- - By Jan (More than 50 posts.) Date 31.08.2014 16:50
Hallo,
ich versuche gerade Debug Records zu erstellen, beim Abspielen bekomme ich aber:
[18:43:10] Playback error: Debug rec overflow!
[18:43:10] Record: Binary unpack error: C4IDPacket: could not unpack packet id xx!

Bei verschiedenen Aufnahmen unterscheidet sich xx meistens, z. B. 09, 49, b2...

Um die DebugRec-Engine zu erstellen habe ich das //#define DEBUGREC in Zeile 32 von C4Include.h wieder einkommentiert. Liegt der Fehler vielleicht daran dass man noch mehr ändern muss?
Parent - - By Sven2 (More than 500 posts.) Date 01.09.2014 10:16
Das ist normal: Wenn man Debugrecs benutzen will, muss man die immer erst reparieren weil sie gerade wieder jemand kaputt gemacht hat.

Debug Rec Overflow heisst, dass ein Paket im Record ist, das im Playback nicht auftrat. Schau mal nach, welches das ist.
Parent - By Jan (More than 50 posts.) Date 03.09.2014 04:46
Danke. Im Moment weiß ich noch nicht, ob Debug Records überhaupt nötig sind, daher werde ich erstmal bei normalen Aufnahmen bleiben.
Das Paket (in DebugRec.firstPkt()) beim Overflow ist übrigens ein C4PktDebugRec mit eType=RCT_Random. Es sind allerdings noch mehr Pakete übrig geblieben: C4Playback::DebugRec enthält wenn der Overflow auftritt 13600 C4PktDebugRec-Pakete.
Parent - - By Gecko (More than 500 posts.) Date 03.09.2014 08:58
Was genau macht Debug Record eigtl? So für Nichtwissende klingt das durchaus interessant..
Parent - By Zapper (More than 500 posts.) Date 03.09.2014 11:32
DebugRecs schreiben einfach alles mit was passiert (jeden Scriptaufruf zB). Damit kann man wohl zB Desyncs leichter finden.

Wie geht:
In OpenClonk musst du dafür in den Optionen ein Häkchen setzen.
In ClonkRage musst du dafür die Engine selbst kompilieren.

Und ohne Ahnung von der Engine zu haben hilft dir das in beiden Fällen nicht weiter, schätze ich. :)
Parent - By Jan (More than 50 posts.) Date 03.09.2014 11:51
Wie Zapper schon sagte werden Aufnahmen um Debug-Informationen erweitert, d. h. sie enthalten dann nicht nur das, was benötigt wird um die Runde nachzubilden sondern es wird z. B. auch jeder Random()-Aufruf protokolliert (RCT_Random).

Hier ist die Liste der Record Chunks die nur in Debug Records vorkommen:
https://git.openclonk.org/openclonk.git/blob/0f050f03439821fdf2c5e57cb6b406481c393126:/engine/inc/C4Record.h#l60
- By Jan (More than 50 posts.) Date 10.12.2014 17:37 Upvotes 1
Ich habe nun endlich die Lösung gefunden: Man muss einfach #define DEBUGREC_EXTFILE "DbgRec.c4b" in C4Record.cpp auskommentieren.
Up Topic Deutsch / Hilfestellung / Debug Records

Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill