我在ARM32 Linux物联网板(Raspberry Pi3B +)上使用.NET CORE 2.1.1。
我已经按照analyzing dump on linux的要求为控制台应用程序收集了一个故障转储,我正在尝试通过lldb
进行分析。
帖子似乎有点陈旧,libsosplugin.so
的路径现在更改为/opt/dotnet/shared/Microsoft.NETCore.App/2.1.1/
,与此同时,我从命令ldd libsosplugin.so | grep lldb
中看不到任何东西,这就是我的{{ 1}}结果:
linux-vdso.so.1(0x7edcb000)
/usr/lib/arm-linux-gnueabihf/libarmmem.so(0x76ee4000)
libstdc ++。so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6(0x76d87000)
libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6(0x76d08000)
libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1(0x76cdb000)
libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6(0x76b9c000)
/lib/ld-linux-armhf.so.3(0x76f10000)
所以我无法知道目标ldd libsosplugin.so
是什么,然后我必须逐个尝试通过lldb
从lldb-3.5
到lldb-4.0
。
我注意到,3.5-3.9存在接受我的按键的问题!所有按键均被解释为Uncode字符串,最后,apt-get install lldb-x.x
可以加载转储和插件:
lldb-4.0
但是,一旦我键入 plugin load /opt/dotnet/shared/Microsoft.NETCore.App/2.1.1/libsosplugin.so
setclrpath /opt/dotnet/shared/Microsoft.NETCore.App/2.1.1
,sos PrintException
便因细分错误而自行崩溃,下面列出的所有内容:
lldb
答案 0 :(得分:0)
据我所知{.NET Core SDK 2.1.30x(.NET Core 2.1)requires libsosplugin.so
或lldb-3.8
附带的lldb-3.9
,所以我期望4.0
版本会引发各种错误,包括段错误。
不过,不确定为什么会出现unicode问题。当我将lldb-3.9
用于.NET Core时,它确实为某些键(up
,Ctrl+
)打印了字符代码,但是其余的很好,那就是x64,不是ARM。也许这是由环境设置引起的单独问题,可以单独进行谷歌搜索。