На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Возможность отладки приложения .net core linux через командную строку
    Добрый день!
    Кто-нибудь задавался вопросом отладки приложения через командный интерфейс? Нашёл утилиту https://github.com/Samsung/netcoredbg. Пробую отладиться:
    в тестовом проекте dotnet new web
    dotnet run
    нахожу id процесса проекта (у меня называется testweb) 7024
    netcoredbg --attach 7024 --server=5000 --interpreter=vscode

    Вывод идёт, но похоже, что символов отладки нет, и это ему не нравится:
    Цитата
    <- (E) {"seq":105,"body":{"module":{"id":"73d50060-007e-45f7-8815-79284317eb94","name":"Microsoft.AspNetCore.WebUtilities.dll","path":"/home/username/dotnet/shared/Microsoft.AspNetCore.App/3.1.2/Microsoft.AspNetCore.WebUtilities.dll","symbolStatus":"Symbols not found."},"reason":"new"},"event":"module","type":"event"}

    Кто-нибудь, подскажите, как это дальше отлаживать, точнее, как создать символы вручную?
      Цитата Sunless @
      Кто-нибудь, подскажите, как это дальше отлаживать, точнее, как создать символы вручную?

      По идее они в процессе компиляции должны появится. попробуй сделать dotnet publish, тогда он все бинари, вместе с отладочными символами поместит в отдельную папку.
      Дальше можешь прям из этой папки запустить приложение командой: dotnet myapp.dll
      Ну либо символы можно еще поискать в папке, вместе с бинарниками, они там лежат с расширением *.pdb по идее.
      Еще можно попробовать поотлаживаться удаленно через ssh протокол из винды, тогда достаточно будет иметь отладочные символы на виндовз машине.

      Еще нашел какие то статьи по теме, может быть поможет:
      https://codeblog.dotsandbrackets.com/comman...ing-core-linux/
      https://github.com/Microsoft/MIEngine/wiki/...m-Visual-Studio
      https://habr.com/ru/post/422141/

      Добавлено
      Еще возможно понадобиться указать папку с отладочными символами дебагеру, но это надо смотреть доку по дебагеру, который ты используешь.

      Ну и собирать нужно дебажную конфигурацию.
      Что то типа:
      ExpandedWrap disabled
        dotnet publish .\source\mysrc\MyProject.csproj -o:.\output\publish\mybindir -c:Debug >.\output\MyProject.log

      Эта команда выполнит восстановление проектов, компиляцию и задеплоит приложение в указанный каталог, все логи компиляции поместит в лог файл.
      Дальше заходишь в эту папку, и там уже будут и твои бинарники и отладочные символы и используемые nuget пакеты и необходимые библиотеки для запуска твоего приложения на любой машине.
      Сообщение отредактировано: Wound -
        Благодарю. Похоже, что, помимо перечисленных инструментов, для продолжения работы с netcoredbg нужно изучить GDB MI, команды которой пока не распознаются при подключенном процессе.
        Сообщение отредактировано: Sunless -
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0271 ]   [ 16 queries used ]   [ Generated: 18.04.24, 14:17 GMT ]