paulclinger wrote:да onexit; еще думаю по этому поводу. Я думал что можно обойтись командой DONE и использовать ее вместо EXIT (задается debugger.detachonexit)
Нет, помимо DONE хотелось бы отдельную функцию. Если отладка управляется прямо из приложения, то ему надо как-то сообщить о завершении.
paulclinger wrote:команда start должна возвращать управление только после подтверждения готовности отладчика.
Так и должно быть. Она блокируется на connect, который завершается успешно если соединение установлено и отладка может идти. В какой ситуации это не работает?
В ситуации когда отладчик подключён к другому приложению (
http://forum.farmanager.com/viewtopic.p ... 46#p116646)
paulclinger wrote:- hasbreakpoint
а надо? как использовать?
Мне надо для того чтобы реализовать toggle
http://forum.farmanager.com/viewtopic.p ... 46#p116646
paulclinger wrote:- (set|remove|has)breakpoint могли бы принимать полные пути, и самостоятельно преобразовывать их к нужному виду.
это скорее нет, разве что set/remove, но не has, поскольку эта функция часто вызывается из debug.hook. А чем абсолютные пути лучше чем относительные? они все рано устанавливаются относительно project directory.
А чтобы задать точку требуется (1)полный путь известный приложению привести к относительному виду (2)поменять слеши на прямые (3)преобразовать к нижнему регистру.
Основная проблема: приложение не знает ничего о project directory в IDE.
Можно решить проблему не трогая приватную has_breakpoint (т.е. нормализовывать путь только для отдельной публичной hasbreakpoint)
Или же просто предоставить публичную функцию norm_path (этот вариант мне нравится меньше).
paulclinger wrote:- В IDE было бы неплохо обновлять точки останова, установленные/снятые извне
Скорее нет, поскольку нет нормального способа передать это информацию.
Разве передавать имеющуюся таблицу точек недостаточно?
paulclinger wrote:Если файлы редактируются извне (а не в IDE), то ZBS выводит диалог предлагая перезагрузить изменённый файл.
Попробуй установить editor.autoreload = true. Если в IDE изменений не было а снаружи были, то файл будет перезагружен без вопросов.
Без вопросов плохо, т.к. удалятся точки останова (что если на основе diff пытаться их сохранить?)
Может быть можно исправить ситуацию иначе? Например не выводить сообщение сразу, а подождать пока ZBE получит фокус.
paulclinger wrote:сервер можно запустить, но нельзя остановить (пункт становится недоступен)
А зачем?
если хоть раз запустить отладку из IDE, то запуск сервера становится недоступен
Это потому что он автоматически запускается когда стартуешь отладку из IDE, а потом уже доступен.
Этот момент был для меня неочевиден. Может быть стоит отметить пункт в меню галкой?