如何找到ns3某个功能的程序入口

当在找application层在哪里bind端口的时候(废话肯定是socket->bind())了啊,但不知道是谁调用了这个bind()的时候(官网只有call graph 并没有caller graph TAT),我们就可以在下层的函数(某个必经的函数)里面设置一个断点,然后在该断点使用where命令查看堆栈,就可以看到谁调用的啦

  • 举个例子
    我在网络层的必经函数ipv4-l3-protocol.cc里的Send()设置了断点【至于为什么能判断出这个是毕经的函数,可以看另一篇博文的分析】,查看到的调用关系如下:
    在这里插入图片描述

  • 要实现在application层绑定发送端口的事情,我就从application container的Start函数就开始加接口,然后一层一层往下传递这个参数( 因为application的StartApplication 就是ApplicationContainer调用的 ,然后前者调用了socket子类的bind函数)

发布了177 篇原创文章 · 获赞 28 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/Hesy_H/article/details/96356493
今日推荐