Seite 6 von 32 ErsteErste ... 234567891016 ... LetzteLetzte
Ergebnis 76 bis 90 von 473

Thema: Debug-Dll

  1. #76
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    16.924
    Und wie kann ich die Ursache zuordnen? Kann ich zu dieser Zeile springen?

  2. #77
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.015
    Die Aufrufliste ist wirklich nur so kurz?

  3. #78
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    16.924
    Zu diesem Zeitpunkt ja.

  4. #79
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.015
    Ich raffe erst jetzt das Problem.

    Die erste kam einmal, die zweite schon ziemlich oft. Wie kann man da jetzt die Ursache finden?
    Starte noch mal komplett neu! Gehe bei der ersten Meldung auf Debug und unterbrechen! Das andere sind Folgefehler. Poste dann den Stack.

    Das zusammengesetzte Bild hat mir was anderes suggeriert. edit: (Das sah so aus, als hättest du die SChritte von oben schon gemacht. Du hast aber erstmal auf Weiter geklickt und das war schon der Fehler! Wir sind jetzt in einer anderen Stelle im Code und nicht mehr an der Fehlerstelle Nummer 1.)
    Geändert von rucivfan (07. Juli 2013 um 15:57 Uhr)

  5. #80
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    16.924
    Der erste Fehler beim Neustart (ich hatte zwischendurch noch ein paar XML-Fehler korrigiert, die ich durch den Debugger erkennen konnte):
    Assert Failed

    File: CvInfos.cpp
    Line: 4789
    Expression: (iNumSibs <= GC.getNUM_UNIT_AND_TECH_PREREQS())
    Message: There are more siblings than memory allocated for them in SetGlobalUnitInfo
    Und das ist der "Stack"
    > CvGameCoreDLL.dll!CvUnitInfo::read(CvXMLLoadUtility * pXML) Zeile 4789 + 0x44 Bytes C++
    CvGameCoreDLL.dll!CvXMLLoadUtility::SetGlobalClassInfo<CvUnitInfo>() Zeile 1322 + 0x17 Bytes C++
    CvGameCoreDLL.dll!CvXMLLoadUtility::LoadGlobalClassInfo<CvUnitInfo>() Zeile 1457 C++
    CvGameCoreDLL.dll!CvXMLLoadUtility::LoadPreMenuGlobals() Zeile 667 C++
    Civ4BeyondSword.exe!0041394d()
    [Unten angegebene Rahmen sind möglicherweise nicht korrekt und/oder fehlen, keine Symbole geladen für Civ4BeyondSword.exe]
    Civ4BeyondSword.exe!00a3fd0b()
    Civ4BeyondSword.exe!0040ce45()
    kernel32.dll!75f014dd()
    msvcr71.dll!7c34218a()
    ntdll.dll!77c39ec5()
    Civ4BeyondSword.exe!00790074()
    Civ4BeyondSword.exe!00790074()
    Civ4BeyondSword.exe!0078006f()
    Civ4BeyondSword.exe!0078006f()
    Civ4BeyondSword.exe!0078006f()
    Civ4BeyondSword.exe!0078006f()
    Civ4BeyondSword.exe!0064006e()
    Civ4BeyondSword.exe!0064006e()
    Civ4BeyondSword.exe!0069006c()
    Civ4BeyondSword.exe!0064006e()
    Civ4BeyondSword.exe!0064005f()
    Civ4BeyondSword.exe!0064005f()
    Civ4BeyondSword.exe!0075006c()
    Civ4BeyondSword.exe!0075006c()
    Civ4BeyondSword.exe!0075006c()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0073005f()
    Civ4BeyondSword.exe!0073005f()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064006e()
    Civ4BeyondSword.exe!0064006e()
    Civ4BeyondSword.exe!0064006e()
    Civ4BeyondSword.exe!0064006e()

  6. #81
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.015
    Wenn man im Stack auf einen Eintrag klickt, springst man zu der Codezeile. Kannst du in der obersten Codezeile klicken und bitte den Wert von iNumSibs lesen in dem du darüber mit der Maus gehst?

    edit: verständlicher formuliert.

    edit2:

    Weiter oben steht folgendes im Code:

    Code:
    	pXML->GetChildXmlValByName(szTextVal, "Class");
    	m_iUnitClassType = pXML->FindInInfoClass(szTextVal);
    szTextVal enthält den entsprechenden Klassen-Eintrag aus der UnitInfo. Gehe wie bei iNumSibs darüber und du findest die entsprechende Einheitenklasse.
    Geändert von rucivfan (07. Juli 2013 um 16:12 Uhr)

  7. #82
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    16.924
    Das ist die Codezeile, zu der er springt:
    PHP-Code:
                        FAssertMsg((iNumSibs <= GC.getNUM_UNIT_AND_TECH_PREREQS()) ,"There are more siblings than memory allocated for them in SetGlobalUnitInfo"); 
    Der Wert ist 4. Das ist auch exakt der Wert aus der GlobalDefines.xml für die Maximale Anzahl der Unit-Tech-And-Prereqs.

  8. #83
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.015
    siehe edit oben.

    Es gibt eine Größenbegrenzung für or (oder und?) Techbedingungen.

    Zitat Zitat von Kathy Beitrag anzeigen
    Der Wert ist 4. Das ist auch exakt der Wert aus der GlobalDefines.xml für die Maximale Anzahl der Unit-Tech-And-Prereqs.
    Das ist leider nicht korrekt. Es wird von 0 angefangen zu zählen. Damit gibt es eine Einheit mit 5 Bedingungen.

  9. #84
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    16.924
    Was meinst du damit? Die Länge des Strings oder die Anzahl der And-Bedinungen?

    Unter szTextVal steht "TECH_WERKSTOFFKUNDE"

    Edit: ich habe auch geirrt. Der Wert in der GlobalDefines.xml ist 3.

  10. #85
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.015
    Mein Fehler, die VAriabel wird jedes mal neu beschrieben. Dort steht jetzt die Techbedingung drinn.

    schaue in m_iUnitClassType. Das ist aber leider nur die Zahl. Das abzuzählen wird schwer.

  11. #86
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    16.924
    Ich denke, ich habe die Einheit gefunden, die zu viele Prereqs hatte, ironischerweise eine EInheit mit "NONE"-Eintrag. Muss ich jetzt, nachdem ich die XML geändert habe, neu starten, oder kann ich fortsetzen?

  12. #87
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.015
    Neustarten ist immer besser, aber hier sollte es noch keine Probleme machen, denke ich. Problematisch wird es, wenn das Ergebnis total falsche Folgefehler verursachen kann.

  13. #88
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    XML-Daten werden nur beim Programmstart gelesen. Python-Daten kannst du während des Programmlaufes ändern, wobei es in seltenen Fällen Probleme gibt, wenn zwischendurch ein Python-Fehler auftrat.

  14. #89
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    16.924
    Dann starte ich jetzt lieber neu.

  15. #90
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.015
    Zitat Zitat von Ramkhamhaeng Beitrag anzeigen
    XML-Daten werden nur beim Programmstart gelesen. Python-Daten kannst du während des Programmlaufes ändern, wobei es in seltenen Fällen Probleme gibt, wenn zwischendurch ein Python-Fehler auftrat.
    Das Problem ist das wenn. Wenn der Fehler mit den Spieloptionen durch Pythonaufrufe verursacht wird, wird der folgende Python-Code eben nicht ausgeführt.

Seite 6 von 32 ErsteErste ... 234567891016 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •