Ошибка в C# DLL ACCESS VIOLATION at address 0x000000000000000
Пользователь
Сообщений: Регистрация: 06.02.2021
11.06.2021 12:28:35
Пробую писать DLL для работы с терминалом без помощи LUA - в lua файле только инструкция require('Module'). Регистрирую метод OnStop и main внутри DLL:
static int Start(IntPtr luaState) {
while (isRunning == 1) {
Thread.Sleep(10);
}
isRunning = 1;
return 0;
}
Когда скрипт стартует, то в течение нескольких секунд (всегда по разному) его можно корректно остановить без ошибок. Но после некоторого времени (минуту или больше) получаю: ACCESS VIOLATION at address 0x000000000000000.
Не понимаю почему так происходит, ощущение, будто кто-то прибил ссылку на мою функцию OnStop, возможно LUA GC, но почему не понимаю.
Находил подобное мнение здесь: про GC, но как такое исправить не понимаю и почему активная ссылка на функцию может прибиться?
Сам код внутри main может работать без проблем часами (там для теста идет обращение к функции isConnected() и пишется все в лог).