通过lldb从Linux(ARM32,Debian,RaspberryPi3B +)分析.NET Core控制台应用的崩溃崩溃失败

时间:2018-08-07 07:24:01

标签: linux raspberry-pi .net-core

我在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是什么,然后我必须逐个尝试通过lldblldb-3.5lldb-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

1 个答案:

答案 0 :(得分:0)

据我所知{.NET Core SDK 2.1.30x(.NET Core 2.1)requires libsosplugin.solldb-3.8附带的lldb-3.9,所以我期望4.0版本会引发各种错误,包括段错误。

不过,不确定为什么会出现unicode问题。当我将lldb-3.9用于.NET Core时,它确实为某些键(upCtrl+)打印了字符代码,但是其余的很好,那就是x64,不是ARM。也许这是由环境设置引起的单独问题,可以单独进行谷歌搜索。