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的调试思想,自己写运行跟踪代码,一步步将出错的地方定位,方能解决问题。这种问题一般是出在存储器的使用上
恩,好的,谢谢您了
