Как получить имена файлов и номера строк в следах стека из встроенного Mono? - PullRequest
3 голосов
/ 28 сентября 2011

Я встраиваю Mono в приложение C, и оно работает нормально, но отладка сложнее, чем должна быть, потому что когда я печатаю трассировку стека в коде Mono (например, в ответ на исключение), всестроки трассировки стека говорят, что они расположены в «: 0».Мне бы хотелось, чтобы имена файлов и номера строк правильно отображались в трассировках стека Mono.

Я собираю компоненты Mono приложения с помощью xbuild и использую отладочную сборку.Файлы MDB генерируются, и я поместил их в тот же каталог, что и моно сборки, которые я загружаю.Когда я инициализировал домен Mono на стороне C, я попытался вызвать mono_debug_init (MONO_DEBUG_FORMAT_MONO) и зарегистрировать домен с помощью mono_debug_domain_create (), но, похоже, это не имеет никакого эффекта.Кто-нибудь заставил это работать?

1 Ответ

1 голос
/ 28 сентября 2011

Вам нужны трассировки стека для вашей программы на c или моно-программы?

Для C: Если вы используете gcc, вы включили отладочную информацию '-g'.Вы должны убедиться, что ваши компиляторы LINE и FILE совместимы с вашим текущим компилятором.

Для Mono: Вы скомпилировали с установленными флагами отладки '-debug'.

Надеюсь, это поможет

/ Tony

...