Möglichkeiten zum Debuggen

» Siedler Map Source Forum » Siedler DEdK Script Forum » Möglichkeiten zum Debuggen

Seiten: 1

Play4FuN
#1
21.10.2017 17:59
Beiträge: 704

Möglichkeiten zum Debuggen

Gibt es außer dem heiligen Lua Debugger andere Möglichkeiten, nach zu forschen, z.B. wo das Spiel Ressourcen frisst o.Ä.?

Ich werkel an einer KI, d.h. kleine Karte und fast ausschließlich Funktionen zum Gebäudebau und Armeesteuerung verwendet - und jedes Mal friert Siedler ein. Was ich auch versuche, welche Codeteile ich auskommentiere etc. ich finde nichts, was das verursachen könnte. Ich finde keine Schleife oder fehlende Abbruchbedingung, die Zahl der SimpleJobs und deren Auswirkungen sind überschaubar ... bin etwas ratlos.
Ich kann das Einfrieren nirgends zuordnen. Siedler antwortet dann nicht mehr (Win Ressourcenmonitor) bzw. ist "inaktiv" (task mgr) und ich kann das Programm nicht mehr beenden (nur PC Neustart...)

Dementsprechend gestaltet sich die Fehlersuche noch mühseliger als sonst schon. Gibt es irgend welche Log Dateien von Siedler, welche da weiterhelfen können?

Oder gibt es Siedler-AI-Funktionen, die bekannt sind für solcherlei Probleme?

*grübel grübel*

____________________
LG Play4FuN

Siedler DEdK Mapping + Scripting Tutorials

mcb
#2
21.10.2017 19:45
Beiträge: 1472

Siedler hat eine Log-Datei (Documents\DIE SIEDLER - DEdK\Temp\Logs). Wenn du da aber nicht selber per S5Hook reinschreibst, steht da nicht viel drin.
Mir sind einige Funktionen bekannt, die Crashes verursachen, aber eine Endlosschleife nicht.
Kannst du während dem Freeze auf den Debugger zugreifen? (Eventuell sogar manuell Pausieren, dann siehst du, wo Lua gerade hängt)
Ansonsten hilft nur noch das gute alte Message-Debugging (ob über Message, LuaDebugger.Log oder S5Hook.Log).

Play4FuN
#3
21.10.2017 23:49
Beiträge: 704

Nutze S5Hook nicht. Beim letzten Mal sagte der Lua Debugger wenn ich was eingegeben hab sowas wie game is busy ... und nix ging. Messages habe ich haufenweise drin, aber die zeigen nix ungewöhnliches.

____________________
LG Play4FuN

Siedler DEdK Mapping + Scripting Tutorials

Der_Deutsche
#4
22.10.2017 10:35
Beiträge: 349

Kommt nur der Freeze wenn du mit dem LUA Debugger startest und er
dann einen Fehler anzeigt?

Dann wird das Game nämlich vom LUA Debugger gefreezet

MFG

____________________
Nachbau von Siedler 5 Lobbys "Ubi.Com"

Updatelösungen Siedler 5 Patch 1.06

Creators Update Lösung Windows 10 Siedler 5

Play4FuN
#5
22.10.2017 16:21
Beiträge: 704

Habe es nicht ohne den Debugger getestet, aber ich gehe davon aus, dass du mit Freeze hier den normalen break meinst, den man im Debugger auch ausschalten könnte (break on error) -> Nein, der Debugger wird da nicht "schuld" sein.

By the way ... @mcb welche Funktionen sind denn für so ein Verhalten bekannt?

____________________
LG Play4FuN

Siedler DEdK Mapping + Scripting Tutorials

mcb
#6
22.10.2017 18:12
Beiträge: 1472

Sowas wie Logic.CreateEntity mit ungültiger Position oder eine StandardAI ohne Startgebäude.

Play4FuN
#7
22.10.2017 23:13
Beiträge: 704

Ok. Nee, die KIs verhalten sich so wie sie sollen, das Einfrieren kommt erst nach 15-30 Minuten -> wie gesagt ich kann es einfach nirgends kausal festmachen

Glaube bei beiden deiner Fehlermeldungen käme bei mir auch ein "richtiger" Absturz bei raus, also dass Siedler beendet wird.

____________________
LG Play4FuN

Siedler DEdK Mapping + Scripting Tutorials

Seiten: 1

SiteEngine v1.5.0 by nevermind, ©2005-2007
Design by SpiderFive (www.siedler-games.de) - English translation by juja

Impressum