Я пытаюсь отладить мою управляемую сборку, которая загружается в собственное приложение. В MonoDevelop включен режим «Выполнить с пользовательской командой Mono Soft Debugger», и я успешно подключаюсь к своему приложению. Однако приложение зависает, когда собирается достичь точки останова.
Я провел некоторое исследование, и кажется, что он зависает, когда метод вызывается из другого потока, с которым инициализирована одна моно среда выполнения. Правильный удар при запуске из того же потока.
Я звоню mono_thread_attach
для каждого потока, который хочет позвонить в управляемые земли, и все работает без подключения отладчика.
Specs:
Mono 2.10.8, MonoDevelop: 2.8.6.4
Edit1:
Попробовал его с помощью сборки ствола из монораспределения, не повезло. Еще не пробовал ствол моно билда.
Edit2:
Поскольку мой сценарий (примерно): основной поток инициализирует приложение, тогда логический поток запускает основной цикл, я отключил основной поток непосредственно перед началом цикла (mono_thread_detach
). Теперь это работает, так что, по крайней мере, я могу отлаживать свои вещи, если к ним подключен один монопоток.