avatar
A question about Debugging# Programming - 葵花宝典
a*n
1
I am developing an embedded system with CAN as the communication protocol.
It always becomes "dead" after a few hours. Host GDB lost connection with
the board. No CAN messages were sent out. I am wondering whether there is
a way to debug for this situation. I am pretty new in GCC debugging and
only uses some basic commands.
Thanks.
avatar
h*e
2
for this long-hour-to-reproduce-bug thing, logging is best way. I don't know
whether your embedded system has logging support.

【在 a**n 的大作中提到】
: I am developing an embedded system with CAN as the communication protocol.
: It always becomes "dead" after a few hours. Host GDB lost connection with
: the board. No CAN messages were sent out. I am wondering whether there is
: a way to debug for this situation. I am pretty new in GCC debugging and
: only uses some basic commands.
: Thanks.

avatar
a*n
3
多谢! 多谢!我现在做的就是不停地打印输出。不过光看这些输出还是不能判断具体
是什么地方引起系统出错。你说的挺对,最好能有什么东西给纪录一下出错时候系统
的状态。不知道有没有更多的建议。
我用的板子是Toradex Colibri Board, using Intel Xscale PXA 270 Processor. The
OS is embedded Configurable operating system (eCos).

know

【在 h****e 的大作中提到】
: for this long-hour-to-reproduce-bug thing, logging is best way. I don't know
: whether your embedded system has logging support.

avatar
s*y
4
你的系统死了的时候没有Assert?或者Ram Dump
一般这种情况会是Kernel Assert或者其他Assert吧,然后会一直Stuck在那里,然
后把Ram Dump出来就知道那一个时刻的状态了,高手一看,就知道死在哪个Funcit
on了。
就是说不用介意出错时刻,譬如晚上Run,系统死了,早上去Dump出来都可以。
不知道我有没有说错。

The

【在 a**n 的大作中提到】
: 多谢! 多谢!我现在做的就是不停地打印输出。不过光看这些输出还是不能判断具体
: 是什么地方引起系统出错。你说的挺对,最好能有什么东西给纪录一下出错时候系统
: 的状态。不知道有没有更多的建议。
: 我用的板子是Toradex Colibri Board, using Intel Xscale PXA 270 Processor. The
: OS is embedded Configurable operating system (eCos).
:
: know

avatar
a*n
5
我觉得你说的就是我先要实现的。具体怎么得到Core Dump or Ram Dump呢?我自己看
了点GDB,是不是要先加上-g的switch,然后怎么做呢?等到target死掉后,GDB Host
也不能通过serialport 或者Ethernet的GDB Host连接target乐。
感谢!感谢!

【在 s*****y 的大作中提到】
: 你的系统死了的时候没有Assert?或者Ram Dump
: 一般这种情况会是Kernel Assert或者其他Assert吧,然后会一直Stuck在那里,然
: 后把Ram Dump出来就知道那一个时刻的状态了,高手一看,就知道死在哪个Funcit
: on了。
: 就是说不用介意出错时刻,譬如晚上Run,系统死了,早上去Dump出来都可以。
: 不知道我有没有说错。
:
: The

avatar
s*y
6
那些都要写代码实现的,不是自备的啊,所以要看你现成有什么工具了

Host

【在 a**n 的大作中提到】
: 我觉得你说的就是我先要实现的。具体怎么得到Core Dump or Ram Dump呢?我自己看
: 了点GDB,是不是要先加上-g的switch,然后怎么做呢?等到target死掉后,GDB Host
: 也不能通过serialport 或者Ethernet的GDB Host连接target乐。
: 感谢!感谢!

avatar
a*n
7
哦,我还以为通过GCC 加上特定的开关选项编译再通过GDB debug 就可以呢。汗!多谢
指教。

【在 s*****y 的大作中提到】
: 那些都要写代码实现的,不是自备的啊,所以要看你现成有什么工具了
:
: Host

avatar
s*y
8
你在Industry还是Academic?

【在 a**n 的大作中提到】
: 哦,我还以为通过GCC 加上特定的开关选项编译再通过GDB debug 就可以呢。汗!多谢
: 指教。

avatar
a*n
9
industry。以前编程不多。

【在 s*****y 的大作中提到】
: 你在Industry还是Academic?
avatar
s*y
10
大公司?
你们的平台开发多久了
开发很久了的话,就是5-6年,应该具备这功能的了吧。

【在 a**n 的大作中提到】
: industry。以前编程不多。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。