我正在尝试按照 http://blogs.microsoft.co.il/sasha/2017/02/26/analyzing-a-net-core-core-dump-on-linux/ 中的说明在 Ubuntu 16.04 上打开 .NET Core 2.0 转储。
转储是从正在运行的进程创建的 createdump PID
.
我无法确定 lldb 的正确版本。ldd $(find /usr/share/dotnet -name libsosplugin.so) | grep lldb
不返回任何内容(输出中没有 lldb)。
我尝试了最新的 3.5 和 3.6,但无济于事:Can not load or initialize libmscordaccore.so. The target runtime may not be initialized.
如何为 .NET Core 2.0 转储找到正确的 lldb 版本?
更新:输出命令 $ find /usr/share/dotnet -name libsosplugin.so
/usr/share/dotnet/shared/Microsoft.NETCore.App/2.0.5/libsosplugin.so
$ ldd $(find /usr/share/dotnet -name libsosplugin.so)
linux-vdso.so.1 => (0x00007ffca344f000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f3d7eecc000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3d7ebc3000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f3d7e9ad000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3d7e5e3000)
最佳答案
很老的问题,但也许这对某人有帮助:
例如。 Dockerfile 包括 lldb 并进入 asp dotnet 3.1
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /vsdbg
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
unzip \
procps \
lldb-3.9 \
&& rm -rf /var/lib/apt/lists/* \
&& curl -sSL https://aka.ms/getvsdbgsh | bash /dev/stdin -v vs2019 -l /vsdbg
WORKDIR /app
也看看这个网站:https://www.aaron-powell.com/posts/2019-04-04-debugging-dotnet-in-docker-with-vscode/如果要附加到容器内正在运行的进程,请在 docker run 添加 CAP_SYS_PTRACE。
关于linux - 在 Linux 上的 lldb 中打开 .NET Core 2.0 转储 - 哪个 lldb 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50016949/