Не понял, то есть, он определен при инициализации, но не при вызове из моей фунуции?
В Яваскрипте очень мало понятия о приватности, так что если он при вызове функции не определяется, то разве что если он был удалён в какой-то момент после инициализации...
Ок. Как это сделать?
Во время прогона игры нажми F8, чтобы показать отладчик (ну, это ты явно уже знаешь). В отладчике есть вкладка Sources, где находятся исходники скриптов. В js/plugins найди свой плагин и нужную строчку. Ты можешь даже перейти на неё автоматически из сообщения об ошибке в консоли. Кликни сбоку (слева) от строчки два раза, чтобы поставить там останов. Или, кажется, можно кликнуть правой кнопкой мыши на строчку и выбрать "Toggle Breakpoint". После этого нажми F5, чтобы перезапустить игру (не закрывай её вручную, потому что тогда все настройки отладчика сбросятся).
Когда игра дойдёт до отмеченной строчки, она остановится: ты увидишь это в отладчике. Сбоку будет панель текущими значениями разных переменных - локально объявленных и значение this... Ещё там будет стёк вызовов, а сверху - панелька Watch, где вообще можно ввести любые выражения и названия переменных, чтобы подсмотреть их. Массивы и объекты можно раскрывать, чтобы смотреть их содержимое. В общем, таким образом можно получить, что именно данный вызов считает за this и есть ли у него _statusWindow.
Единственная трудность может возникнуть в том, что иногда MV запускает те или иные плагины в "виртуальной машине". Не знаю, когда и зачем, но тогда остановы не действуют. Отличить виртуальную машину можно по тому, что лист с кодом будет жёлтого цвета, а сверху около названия файла будет написано "VM". Кажется, он делает это довольно бессистемно, возможно, в зависимости от тормозов или количество обращений к скрипту.
Если ты сможешь дать мне код или проект в целом, я с интересом попробую найти ошибку.