首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有解决网段故障的方法?

问有没有解决网段故障的方法?
EN

Stack Overflow用户
提问于 2018-12-26 14:25:23
回答 2查看 155关注 0票数 2

我在一个IoT linux设备上工作。运行我的应用程序时出现段故障。我需要一些方法来解决这个问题。

我尝试过的方法:

1.coredump

ulimit -c无限;无限-f无限;内核将会创建,但可能芯片的内存不足,所以内核总是被中继。我不能使用gdb来获取回溯。

2.dmesg | grep段错误

此linux系统不会将崩溃保存在"demsg“中

3./var/log/messages

此linux系统不会将崩溃保存在"/var/log/messages“中

您对解决网段故障有什么建议吗?非常感谢。

EN

回答 2

Stack Overflow用户

发布于 2018-12-26 15:16:00

您可以使用Valgrind这样的工具。当我们试图查找写入数组边界之外的数据时,它对我们有很大帮助。它很适合检查内存泄漏、越界情况和分段错误。实际上,我们只是用它来检查我们所有的C/C++程序,并发现了许多未检测到的错误。

注意:不要忘了用调试信息编译你的程序(例如,gcc编译器的'-g‘开关),以便在Valgrind中获得更多人类可读的消息。检查this quick start guide。

票数 0
EN

Stack Overflow用户

发布于 2018-12-26 16:53:36

Coredumps可以很大,但根据我的经验,它们包含大量的零,因此它们可以很容易地压缩。使用/proc/sys/ kernel /core_pattern文件,您可以让内核通过gzip传输转储,这样它占用的空间就更少( compressing the core file during core generation )。

另一种选择是尝试-fsanitize系列的gcc选项。更具体地说,是-fsanitize=address和-fsanitize=undefined。如果这样做,您的应用程序将在崩溃时打印许多有用的信息(通常包括发生崩溃的实际文件和行号)。哦,不要忘记将相应的共享库复制到您的目标上,否则当您尝试运行插入指令的应用程序时,动态链接器将抛出一个错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53928209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档