Войти
ПрограммированиеФорумОбщее

Пишем отладчик для Lua 5.1 (комментарии)

Страницы: 1 2 Следующая »
#0
23:03, 8 дек. 2010

Пишем отладчик для Lua 5.1 (комментарии)

Это сообщение сгенерировано автоматически.


#1
23:03, 8 дек. 2010

Очень полезная вещь. Исходники я так понимаю закрыты...

#2
23:05, 8 дек. 2010

Да мне не проблема открыть часть исходников в тему...
Что-то не хотят статью опубликовать.

#3
10:47, 9 дек. 2010

Cherk
> Очень полезная вещь. Исходники я так понимаю закрыты...
Было бы еще на C++ лучше было бы.

#4
11:50, 9 дек. 2010

Да на С++ там влет все переводится. Так что не проблема.
Просто в С++ не такая наглядная работа со строками, что испортит примеры. ИМХО

#5
10:59, 27 апр. 2011

Какой прогой вы записывали видео с экрана?

#6
11:00, 27 апр. 2011

Это было давно, не помню.
Что-то типа ScreenCapture.

#7
12:38, 27 апр. 2011

Писал я недавно отладчик Lua на С++. Только я как раз хук ставил на каждую строку. Всё нормально получилось. Для GUI использовал модифицированный SciTE.

#8
12:40, 27 апр. 2011

У меня этот вариант сразу не заработал и я решил его не раскапывать дальше, потому что не понравилась необходимость каждую строку хук ловить.

#9
12:49, 27 апр. 2011

Зато удобно трассировку организовывать

#10
12:57, 27 апр. 2011

Кстати да. Можно оба метода использовать. тогда и брейкпоинты тормозить не будут и трассировка будет ок.

#11
13:05, 27 апр. 2011

Если интересно - вот кусок кода.

void hook(lua_State *L, lua_Debug *ar);

//...

void lua_debug_t::start_debugging()
{
    lua_sethook(m_L, hook, LUA_MASKLINE, 0); // ставим хук на каждую строчку 
}

void lua_debug_t::stop_debugging()
{
    lua_sethook(m_L, hook, 0, 0); // снимаем
}
#12
13:12, 27 апр. 2011

Также и делал. :)
Не заработало. Позднее попробую еще раз.

#13
13:22, 27 апр. 2011

inkooboo
Спасибо за дополнение!

#14
8:56, 28 апр. 2011

1. Есть Tilde, мы юзали с минимальными вроде как доделками

2. Достаточно ограниченный механизм расстановки брейкпойнтов. Tilde использует хуки, но они (на консолях) порядком все тормозят. Лично я бы добавил в Lua машину опкод-аналог INT3 и патчил бы байткод точно так же как это делает отладчик, с запоминанием предыдущей инструкции - благо инструкции все одного размера.

Страницы: 1 2 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.