获取在Raspberry3 B +(Debian9,ARM32)上运行的.NET CORE应用程序的崩溃转储

时间:2018-07-24 06:36:12

标签: .net linux raspberry-pi .net-core

我有一个控制台应用程序(。NET CORE 2.1.1),该应用程序仅打开8个TCP连接进行读写,每个连接的数据速率在大多数情况下约为200Byte /秒。运行良好,直到大约7或8个小时后,它随机崩溃,我已将AppDomain.CurrentDomain.UnhandledException附加到日志记录中,但是在这些情况下,它从未被调用,而且我似乎还显示了一些额外的信息<在应用程序崩溃并退出时在控制台中strong> strong ,它们是:

  

./ myApp:重定位错误:/pathToMyApp/libclrjit.so:符号pthread_,   在libpthread.so.0文件中未定义具有链接时间的版本GLIBC_2.4   参考

  

公交错误

  

中止

为了进行进一步的调试,我遵循了enable core dump in linux来启用核心转储,这是我做的:

$> mkdir -p /tmp/cores
$> chmod a+rwx /tmp/cores
$> echo "/tmp/cores/core.%e.%p.%h.%t" > /proc/sys/kernel/core_pattern

为了测试,我输入了命令:

$> kill -s SIGSEGV $$

我可以在 /tmp/cores/core.bash.1284.raspberrypi.1532411173

上看到创建的转储

但是我从来没有看到我的应用程序创建了转储,尽管崩溃每天都发生,而且,我什至尝试通过以下方式手动杀死myApp来模拟崩溃:kill myAppProcessId,但是仍然没有运气看到任何转储文件

稍后,我将我的应用程序添加到守护程序模式,这一次我也可以在syslog中看到某事:

  

7月17日08:30:51 raspberrypi systemd 1:myApp.service:主要流程   退出,代码=已杀死,状态= 6 / ABRT

     

7月17日08:30:51 raspberrypi systemd 1:myApp.service:设备进入失败状态。

     

7月17日08:30:51   raspberrypi systemd 1:myApp.service:失败,结果为“信号”。

     

7月17日08:31:01 raspberrypi systemd 1:myApp.service:服务   延迟时间,安排重新启动。

但是,仍然不会在路径上看到任何转储文件。

有人可以帮忙吗?

0 个答案:

没有答案