NS3-仿真LTE-bug调试笔记

本文记录了在使用NS3仿真LTE时遇到的两个问题及其解决过程。首先,修改scheduler代码后遇到vector越界问题,通过eclipse单步调试和添加NS_LOG_INFO()输出定位到源码漏洞。其次,发现RLC层数据RX大于TX,通过数据分析和代码审查发现源码逻辑错误。这两个问题都强调了源码的可靠性问题以及调试技巧的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 修改了scheduler的代码后,出现了一个 vector 越界的问题,如何调试?

      首先想到的是使用eclipse单步调试(配置eclipse可以参考其他博客),但是因为使用了 “ lena->SetFadingModelAttribute ("TraceFilename", StringValue ("src/lte/model/fading-traces/fading_trace_EVA_60kmph.fad")); 所以在单步调试时,一直有一个kernel的错误,如下所示,提示是因为该文件打开的路径问题,尝试了改路径,但是没有改对。

  "No source available for "__kernel_vsyscall() at 0xb7fdd424'

此路不通,则采用了两种办法,A- 修改脚本,不使用fadingmodel, 可以进行单步调试,定位到修改过的代码位置,可以排查一些bug 。

                                                        B-在代码中添加打印信息,通过输出打印信息,看程序的进行过程。

以pf-ff-mac-scheduler.cc 的代码为例, 语句 NS_LOG_INFO() 则为记录信息,如

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值