微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > ARM技术讨论 > arm程序测试

arm程序测试

时间:10-02 整理:3721RD 点击:
我们用Eclipse写了一个c++程序,使用MinGW编译形成可执行文件,用putty在主板上运行一段时间后会出现死机的情况,现在想测试一下是不是程序哪里有内存泄露或者线程死锁的情况,但是不知道有什么工具可用,大家有什么好的建议吗?我知道l有一个gdb+gdb server的方法可以对arm程序进行调试,但不知道能不能测试出这些问题?具体应该怎么做?
请大家多多指教,谢谢!

看到这浏览次数才15次,都不知道里面有多少是我自己刷新的。

忘记说了,程序本身是一个会一直执行的程序,就是在这个一直执行的过程中,发现程序死机的

看看ASSERT相关方法吧

p = malloc(..);
..
free(p);
p = NULL;
assert(p == NULL);
可以这样来检查指针是否被释放是吗?

可是如果是线程死锁呢?我不确定linux上gdb对线程的调试在目的机与宿主机之间也有效
可以以您的经验告诉我一些程序运行一段时间后死机的原因吗?

谢谢了

而且由于死机的不确定性和随机性,程序要运行很长一段时间可能才会有错误发生,这里面使用断言会不会有什么不好的影响呢?

@yyy71cj
谢谢

要快速找到问题,就是调试了;
编译时用DEBUG模式,用调试工具运行程序,然后等他死机。

一定要捕捉到出问题的地点,你可以借助assert的调试思想,自己写运行跟踪代码,一步步将出错的地方定位,方能解决问题。这种问题一般是出在存储器的使用上

恩,好的,谢谢您了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top