首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何调试嵌入式进程?

如何调试嵌入式进程?
EN

Stack Overflow用户
提问于 2013-03-20 11:44:40
回答 2查看 235关注 0票数 2

我在arm + Linux平台上调试进程时遇到问题:

这是一个使用CAPWAP协议的守护进程,因此它不断地与另一个远程进程通信。当它因分段错误而崩溃时,我通常的调试方法是通过printf添加一些日志输出,以查找进程崩溃的位置,但效率不是很高。

有没有其他方法来调试这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-20 14:25:57

您还可以启用core(5)转储,然后在该核心上使用gdb post-mortem

代码语言:javascript
复制
  gdb yourprogram core

要启用核心转储,您需要使用RLIMIT_CORE调用setrlimit(2)系统调用,通常是在某些父进程中(例如,使用ulimit的shell )

顺便说一句,你也可以通过gdb启动你的程序,使用

代码语言:javascript
复制
  gdb --args yourprogram argtoyourprogram

别忘了用gcc -Wall -g编译你的程序。-Wall选项给出几乎所有的警告(非常有用),并且-g生成调试信息。

票数 3
EN

Stack Overflow用户

发布于 2013-03-20 11:57:07

在这种情况下,有两种调试选项。

  1. 使用GDB调试器调试您的程序。您可以使用GDB在程序中设置断点。
  2. 使用Android-ndk调试您的分段故障。这种调试可以提供错误的确切位置。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15514897

复制
相关文章

相似问题

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