This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Вопрос c# Обнаружение части кода, который крашит игру

E-Exception

Участник портала
3 Июл 2022
104
17
59
23
Всем привет. Мне известно, что вызов некоторых нативных функций ГТА с аргументами null может крашить игру (Просто закрывается с логом Game Called Terminate). К примеру, если мы попробуем получить позицию игрока на экране, когда игрок равен null (Вышел, например), то игра закроется. Есть-ли способы отладить клиент, чтобы найти где и в каком скрипте происходит ошибка? Либо единственный способ это просмотр всего кода вручную?
 

Bloodlust

Специалист
25 Апр 2021
311
91
112
я конечно не шарпист но что мешает сделать проверки на то что сущность существует
 
Реакции: Inoi и XDeveluxe

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
3,004
1,739
211
28
Не думаю, что на клиентской части есть что-либо, что может помочь тебе в этом.
Просто не делай таких глупых ошибок - нельзя взаимодействовать с объектом, который может быть null, для этого ты сначала проверяешь его, а только потом используешь. Это 1 лишняя (на самом деле не лишняя) строка.
Не знаю какая версия используется на клиенте, но вполне возможно, что ты можешь даже использовать вот такой метод:
C#:
CustomClass?.Health
Добавляя "?" после объекта, который может быть null, ты защищаешь код и если объект будет null, то всё что дальше - не будет работать.
 

Skadi

Новый участник
11 Апр 2023
4
0
38
try и catch используй, и выводи ошибку в консоль
 

E-Exception

Участник портала
3 Июл 2022
104
17
59
23
В логах только Game Called Terminate

Мешает то, что трудно найти где именно стоит такую проверку сделать, код не маленький, методов много.
 

E-Exception

Участник портала
3 Июл 2022
104
17
59
23
Проблема в том, что иногда задумываешься и делаешь эти глупые ошибки, упуская важные проверки на nullable... вот теперь лопачу весь код и ищу где же я этот момент упустил.