两个星期了~调我那个破程序两个星期了~虽然现在还没有完全调好~但在我快要崩溃的时候终于出现了点儿希望
现在一个wlan的那个版本已经完全不崩溃了~跑的很happy~但是两个wlan的还在调试中。。
虽然任务还很艰巨~困难还重重~但我还是想来mark下
面对omnet程序的崩溃~
这个只要点结束程序就退出了~会在console里面输出时由于exit code:255之类的提示~完全不会出现任何错误提示
debug的时候到了崩溃的时间也会跑过去~没什么错误~我这个崩溃啊
刚开始看到这个图时~我真是要哭了~看多了欲哭无泪~再看就麻木了
我在网上反复查exit code是什么原因,但是也没有找到一些明确的原因。无非是说指针可能被释放后还在调用之类的。
但是要在自己的程序中找到这种指针的问题谈何容易~我就这样一遍一遍的看我的程序出错的地方~没把这个搞定~但却找到一些
其他地方的问题(还在解决中)~主要是如何正确的调用两个wlan
我之前是调试的小白痴~什么都不会呀~通过这两个星期的郁闷时期终于也会一点儿基本的东西了~
最后说下我出错的原因~其实就是我在
payload->addPar(paraNonrecBlockID) = nonrec;
包中添加了一个指针(nonrec)但是在取出时却不是我放进去的那个指针地址了,这。。。
坑爹呀~就不说我经历的荆棘了~主要原因就是我的指针指向的第一个数是0,这取出时肯定会出现一点问题,因为数组的结束符号就是/0
同志们切记不要将指针指向的数组的第一个数存为0,传递给其他的指针啊~
我血一样的教训啊~希望还是给人一点儿警示啦
下面的代码是从包中取出指针,这个也有点儿讲究
const char *nonrec = (const char *)(pkt->par(paraNonrecBlockID));
这样就不会有错了~
希望与有同样问题的同志共勉~
指针出错真的是好烦~
不过好好调试~好好研究还是可以解决的~像我这样的用两个星期解决这个小问题的真是一朵奇葩了
加油吧~omneter(嘿嘿~我自己起的用omnet的人们)
我还有个硬骨头要啃~2个wlan~如果有人用过的就教教呗~先在此谢过了
come on 加油