Pliki log - gdzie je znaleźć i co można z nich odczytać? - Wersja do druku +- Cities Skylines - Polskie forum gry (https://citiesskylines.pl) +-- Dział: Cities Skylines I (https://citiesskylines.pl/dzial-Cities-Skylines-I) +--- Dział: Poradniki (https://citiesskylines.pl/dzial-Poradniki) +--- Wątek: Pliki log - gdzie je znaleźć i co można z nich odczytać? (/temat-Pliki-log-gdzie-je-znalezc) |
Pliki log - gdzie je znaleźć i co można z nich odczytać? - SZyMeX - 22-11-2019 W tym "poradniku" (o ile można go tak nazwać ) pokażę parę podstawowych informacji o plikach log, tak by nie trzeba było ich powtarzać w każdym następnym wątku dotyczącym problemów z grą Zaczniemy od podstaw - czym są pliki log? Są to pliki zawierające informacje o tym, co działo się podczas uruchamiania gry oraz dalszej rozgrywki. Jeżeli np. w trakcie wczytywania się save-a wystąpił crash, to właśnie dzięki tym plikom będziemy mogli dowiedzieć się, co było jego przyczyną. Dlatego tak ważne jest umieszczanie ich w swoim wątku. Bez nich nie jesteśmy w stanie nic zdziałać. W Cities Skylines mamy dwa pliki log:
Może jednak zdarzyć się, że plik output_log.txt znajdzie się w tej ścieżce: Dla systemów Mac OS X i Linux ścieżki wyglądają nieco inaczej, są to odpowiednio:
Co oznaczają poszczególne błędy? Jeżeli natomiast macie ochotę przeszukiwać te niekiedy kilka tysięcy linijek kodu w poszukiwaniu czegoś interesującego to zapraszam do lektury Oczywiście nie wypiszę tutaj wszystkich możliwych błędów, bo byłoby to w zasadzie niewykonalne ale postaram się opisać te najważniejsze/najczęściej występujące wraz z ich rozwiązaniami a w przyszłości być może dodam kolejne. Brak wystarczającej ilości RAMu - podstawowa podstawa. Problem który powoduje najwięcej crashy, a jednocześnie jest bardzo prosty do wykrycia i naprawienia. Powinna więc być to pierwsza rzecz do sprawdzenia po "scrashowaniu" się gry. W jaki sposób możemy sprawdzić czy naszemu komputerowi skończyła się pamięć? Na samym początku pliku error.log mamy następujące linijki: (przykład) Kod: 53% memory in use. Jeżeli któraś z tych wartości będzie wyjątkowo niska to znaczy że po prostu brakuje nam RAMu. Co ważne, nie powinniśmy zwracać tutaj uwagi tylko na pozycję "memory in use". Dla przykładu w tym pliku: Kod: 64% memory in use. procentowo pamięci jeszcze trochę mamy, w tym przypadku problem leży w pliku stronnicowania (paging file). Jak widać wolny jest jedynie 1MB czyli zdecydowanie za mało. Brak pamięci możemy poznać jeszcze po pliku output_log.txt. Jeżeli na jego końcu znajdziemy takie linijki: Kod: ERROR: SymGetSymFromAddr64, GetLastError: 'Próbowano uzyskać dostęp do nieprawidłowego adresu.' (Address: 00007FF6DBFC4954) to możemy być prawie pewni że mamy za mało pamięci. A jak poradzić sobie ze zbyt małą ilością RAMu? Jest na to parę rozwiązań. Pierwsze to odsubksrybowanie pewnej ilości obiektów. Jak wiadomo im więcej modyfikacji i dodatków - tym większe zużycie pamięci fizycznej. Drugie: zmniejszenie jakości tekstur. Te również oddziałują na wykorzystanie RAMu, tak więc warto najpierw spróbować zmniejszyć ustawienia. Trzecie - zwiększyć rozmiar pliku stronnicowania. Czym on jest i jak to zrobić, to już rozpisywać się nie będę. Pełno poradników na ten temat znajdziecie w internecie. Ja mogę tylko dodać że jest to taki "wirtualny RAM" na jednym z naszych dysków. Przy grze w Cities Skylines bardzo istotny Czwarte - najbardziej radykalne rozwiązanie to.. dokupienie większej ilości RAMu Przy Citieskach czasem nawet i 32GB to za mało ArgumentNullException: Kod: ArgumentNullException: Argument cannot be null. Jeden z tych błędów które niewiele nam mówią. Może doprowadzić do crasha ale nie musi. A przyczyną może być.. wszystko. Warto jednak sprawdzić, czy przy tym błędzie nie pojawia się nazwa jakiejś modyfikacji. Dla przykładu powyższy błąd często występował przez błędną konfigurację modów Vehicle Effects i Extra Vehicle Effects. Array index is out of range: Kod: Simulation error: Array index is out of range. lub Kod: IndexOutOfRangeException: Array index is out of range. Ulubiony błąd wszystkich graczy Cities Skylines. Jeżeli już udało nam się załadować save-a ale mimo wszystko coś nie działa to najczęściej w specjalnym okienku widzimy właśnie to A co to znaczy? Wszystko.. Tak. Kolejny błąd niewiele nam mówiący. Zazwyczaj, jeżeli nie zawsze, występuje z pewnym dopiskiem. Tutaj wszystko zależy od posiadanych modyfikacji i pozostałej części loga. Po samym błędzie mało jesteśmy w stanie stwierdzić. Nie będę się rozpisywał w tym wątku o potencjalnych przyczynach i rozwiązaniach, dla chętnych zamieszczam te dwa linki: https://github.com/krzychu124/Cities-Skylines-Traffic-Manager-President-Edition/wiki/Simulation-error%3A-Array-index-is-out-of-range https://github.com/krzychu124/Cities-Skylines-Traffic-Manager-President-Edition/wiki/Broken-Road-Assets#interchanges Non platform assembly Kod: Non platform assembly: data-<***> (this message is harmless) Ten kod sam w sobie nie jest zbyt ważny, zresztą jak mówi sam za siebie dopisek po nim. Potrafi pojawić się jednak dość często i zabrać dużą część logu, dlatego o nim tutaj wspominam. Można go jednak po prostu zignorować. Object reference not set to an instance of an object Kod: Object reference not set to an instance of an object Kolejny błąd w stylu Array index is out of range. Wszystko i nic w jednym Ponownie rozwiązań może być multum i wiele zależy od pozostałych części logu i innych czynników - np. posiadanych modyfikacji. Dla chętnych zamieszczam link do paru najczęstszych powodów wystąpienia błędu i sposobów jego rozwiązania: https://github.com/krzychu124/Cities-Skylines-Traffic-Manager-President-Edition/wiki/Object-reference-not-set-to-an-instance-of-an-object DirectX 11 error Kod: d3d11: failed to create staging 2D texture w=<width> h=<height> d3dfmt=77 [80070057] Pojawia się dość często jednak nie zawsze musi doprowadzić do crasha gry. Warto jednak sprawdzić czy to właśnie on nie jest przyczyną. A jak to zrobić? Błąd powodują albo sterowniki karty graficznej albo problem z DX 11. Tak więc: 1) należy sprawdzić czy ma się aktualne sterowniki, a jeżeli nie - zaktualizować je 2) w opcjach uruchamiania użyć komendy "-force-d3d9" - która jak sama nazwa mówi, wymusi użycie przez grę DX9. Błędy związane z dodatkami z workshop-a: System.NullReferenceException Kod: System.NullReferenceException: Loading custom asset failed:['<asset_name>' [CustomAssetMetaData, 082a798a36408fd943adbe9df9a56b91, in package ''<workshop_id>' [/<path>/Steam/steamapps/workshop/content/255710/<workshop_id>/<asset_name>.crp]' (2147090, 2048)]] Błąd podobny do poprzednich. Tym razem może nam wskazać potencjalnego sprawcę problemów z grą. Jeżeli występują crashe związane z tym błędem to sugeruje się odsubskrybować wskazany dodatek. LOD missing Kod: LOD missing: <workshop_id>.<asset_name>_Data [Core] Wskazuje na brakujący LOD w danym obiekcie. Może powodować dłuższe ładowanie się gry i problemy z LOD-em w tym obiekcie. Źle zoptymalizowany LOD Kod: LOD vertex count high (<num1> > <num2>): <workshop_id>.<asset_name>_Data [Core] Jak sama nazwa mówi. Może powodować spadki FPS-ów i inne problemy z danym obiektem. LOD has no base Kod: LOD has no base: <workshop_id>.<asset_name>_Data [Core] Nie wiadomo co dokładnie może oznaczać ten błąd. Możemy domyślać się, że chodzi o kolejne problemy z LODem jakiegoś obiektu. Unknown prefab Kod: Unknown prefab: <prefab_name> [Serialization] Ten błąd wiąże się z brakiem danego prop-a bądź obiektu. Zazwyczaj spowodowany jest albo przez to, że autor obiektu nie dodał do listy wymaganych dodatków jakiegoś propa bądź użytkownik nie zasubskrybował wszystkich wymaganych dodatków z powyższej listy. Może powodować braki w budynkach lub innych obiektach albo całkowite "wymazanie" ich z gry (nie będą dostępne do wyboru oraz nie będą się pojawiać jeżeli zostały wcześniej postawione) No i w zasadzie to by było na tyle Niestety, do rozwiązania wielu powyższych błędów potrzebne jest więcej informacji, m.in lista modyfikacji, bądź okoliczności w jakich się pojawiły (np. odsubskrybowanie jakichś dodatków itp). Niektóre z nich mogą jednak nakierować nas na właściwy trop, dzięki czemu dość szybko uporamy się z problemem. Jeżeli jednak nie jesteście w stanie sami poradzić sobie z jakimś błędem, bardzo ważne jest to, by do wątku dołączyć powyższe pliki log. Bez nich nie jesteśmy w stanie stwierdzić co jest przyczyną błędu oraz udzielić wam pomocy. Mam nadzieję, że komuś przyda się ten "poradnik" i dowie się paru rzeczy albo przynajmniej rozwieje on parę wątpliwości Jeżeli macie coś do dodania to piszcie śmiało. |