Просьба поднять версию .Net Core 6 с 6.0.7 до последней (текущая 6.0.11) https://dotnet.microsoft.com/en-us/download/dotnet/6.0
Дополнительно просьба добавить пакет с символьной информацией для отладки dotnet приложений в lldb Речь про файлы, которые для поддерживаемых Microsoft платформ загружаются с помощью команды dotnet-symbol --host-only
(Ответ для Иван Скородумов на комментарий #1) > Дополнительно просьба добавить пакет с символьной информацией для отладки > dotnet приложений в lldb > Речь про файлы, которые для поддерживаемых Microsoft платформ загружаются с > помощью команды > dotnet-symbol --host-only То есть скачиваемую этой командой информацию добавить в пакет? Попробуем.
(In reply to Vitaly Lipatov from comment #2) > (Ответ для Иван Скородумов на комментарий #1) > > Дополнительно просьба добавить пакет с символьной информацией для отладки > > dotnet приложений в lldb > > Речь про файлы, которые для поддерживаемых Microsoft платформ загружаются с > > помощью команды > > dotnet-symbol --host-only > То есть скачиваемую этой командой информацию добавить в пакет? Попробуем. Да, всё верно! Спасибо.
(Ответ для Иван Скородумов на комментарий #1) > Дополнительно просьба добавить пакет с символьной информацией для отладки > dotnet приложений в lldb > Речь про файлы, которые для поддерживаемых Microsoft платформ загружаются с > помощью команды > dotnet-symbol --host-only «Загрузка символов поддерживается только для официальных версий среды выполнения .NET Core, полученных по официальным каналам, таким как официальный веб-сайт и источники по умолчанию в сценариях установки dotnet. Ошибка 404 при скачивании файлов отладки может указывать на то, что дамп был создан с помощью среды выполнения .NET Core из другого источника, например из исходного кода, созданного локально или для конкретного дистрибутива Linux, либо с сайтов сообщества, таких как archlinux. В таких случаях файл, необходимый для отладки (dotnet, libcoreclr.so и libmscordaccore.so), должен быть скопирован из этих источников или из среды, в которой был создан файл дампа.» https://learn.microsoft.com/ru-ru/dotnet/core/diagnostics/dotnet-symbol Может быть вам просто нужно поставить соответствующие пакеты -debuginfo?
Для того, чтобы lldb просто загрузил дамп или подключился к процессу dotnet, нужно иметь отладочную информацию по загрузчику dotnet. Далее начинает работать расширение sos, позволяющее отлаживать управляемый код. Как вы и написали утилита dotnet-symbol, не может загрузить отладочные символы для dotnet на Alt Linux, поэтому мы просим включить их в отдельный пакет или в один из существующих пакетов установки dotnet sdk для Alt Linux https://learn.microsoft.com/en-us/troubleshoot/developer/webapps/aspnetcore/practice-troubleshoot-linux/lab-1-2-analyze-core-dumps-lldb-debugger «The --host-only parameter will download only the host program. This is all that lldb needs to start debugging the ASP.NET Core application.» «SOS is a cross-platform extension that can be loaded by WinDbg or a cdb debugger on Windows and by lldb on Linux and macOS.»
(Ответ для Иван Скородумов на комментарий #5) > Для того, чтобы lldb просто загрузил дамп или подключился к процессу dotnet, Можете привести пример отладки базового приложения, создаваемого через $ dotnet new console ? Какая именно команда?
1. Установка lldb, .net и расширение SOS # apt-get install lldb # apt-get install dotnet-sdk-6.0 # dotnet tool install -g dotnet-sos # export PATH="$PATH:/root/.dotnet/tools" # dotnet-sos install 2. Настройка coredump # apt-get install systemd-coredump # systemctl start systemd-coredump.socket закомментировать следующую строку в /etc/profile: 'ulimit -Sc 0 >/dev/null 2>&1' закомментрировать в файле /etc/security/limits.d/50-defaults.conf строку: '* soft core 0' # reboot 3. Тестовое приложение. # mkdir ~/test_debug # cd ~/test_debug # dotnet new console # cat <<EOT > Program.cs Console.WriteLine("Hello, World!"); string msg = null; List<string> memoryleak = new(); while (true) { memoryleak.Add($"Current time is: {DateTime.Now:O}"); Thread.Sleep(100); if (memoryleak.Count > 200) { // NullReferenceException через 20 секунд //долго, чтобы можно было еще Attach проверить. Console.WriteLine(msg.Length); } } EOT # dotnet build 4. Генерация dump-а при падении приложения # dotnet ./bin/Debug/net6.0/test_debug.dll & Hello, World! … 20 seconds later Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object. at Program.<Main>$(String[] args) in /root/test_debug/Program.cs:line 12 [1]+ Aborted (core dumped) dotnet ./bin/Debug/net6.0/test_debug.dll # coredumpctl list TIME PID UID GID SIG COREFILE EXE Mon 2023-01-09 13:44:13 UTC 4055 0 0 6 present /usr/lib64/dotnet/dotnet # coredumpctl dump 4055 -o test_debug.core.4055 … 5. Отладка полученного дампа # export DOTNET_ROOT=/usr/lib64/dotnet # lldb --core test_debug.core.4055 dotnet Current symbol store settings: -> Cache: /root/.dotnet/symbolcache -> Server: https://msdl.microsoft.com/download/symbols/ Timeout: 4 RetryCount: 0 (lldb) target create "dotnet" --core "test_debug.core.4055" Core file '/root/test_debug/test_debug.core.4055' (x86_64) was loaded. (lldb) pe Failed to load data access module, 0x80004002 Can not load or initialize libmscordaccore.so. The target runtime may not be initialized. For more information see https://go.microsoft.com/fwlink/?linkid=2135652 PrintException failed Если решение этой проблемы займет много времени, то лучше ее не решать сразу, а завести отдельный тикет.
Коллеги, добрый день! Скажите пож есть информация по указанному вопросу? "Просьба поднять версию .Net Core 6 с 6.0.7 до последней (текущая 6.0.11) https://dotnet.microsoft.com/en-us/download/dotnet/6.0"
(Ответ для Иван Скородумов на комментарий #8) > Коллеги, добрый день! > Скажите пож есть информация по указанному вопросу? > "Просьба поднять версию .Net Core 6 с 6.0.7 до последней (текущая 6.0.11) > https://dotnet.microsoft.com/en-us/download/dotnet/6.0" https://packages.altlinux.org/ru/sisyphus/srpms/dotnet-runtime-6.0/ Версия: 6.0.12-alt2
(In reply to Andrey Cherepanov from comment #9) > (Ответ для Иван Скородумов на комментарий #8) > > Коллеги, добрый день! > > Скажите пож есть информация по указанному вопросу? > > "Просьба поднять версию .Net Core 6 с 6.0.7 до последней (текущая 6.0.11) > > https://dotnet.microsoft.com/en-us/download/dotnet/6.0" > > https://packages.altlinux.org/ru/sisyphus/srpms/dotnet-runtime-6.0/ > > Версия: 6.0.12-alt2 Это Sisyphus, есть возможность добавить в p9 и в p10?