皮皮网

【来图定制系统 源码】【知乎源码】【棋牌h5源码】网络调试 源码_网络调试源码 c

来源:小程序源码 抓包 时间:2024-11-15 01:16:03

1.学习笔记:搭建 Linux 内核网络调试环境(vscode + gdb + qemu)
2.ZYNQ+linux网口调试笔记(3)PL-ETH
3.网络工程师的网络网络Python之路 -- Nornir3 + ipdb
4.在淘宝上卖的网站源码到底能用不
5.使用ipdb在终端调试
6.Delphi 网络调试助手 源码

网络调试 源码_网络调试源码 c

学习笔记:搭建 Linux 内核网络调试环境(vscode + gdb + qemu)

       本文主要介绍了如何搭建Linux内核网络调试环境,主要步骤包括:

       首先,调试调试使用VM(虚拟机)和Ubuntu .,源码源码配置dhcp方式的网络网络网络,绑定主机网卡,调试调试确保获得有效IP地址和DNS配置。源码源码来图定制系统 源码

       接着,网络网络安装和配置内核源码、调试调试gdb,源码源码进行内核的网络网络编译,并测试gdb是调试调试否能正确调试内核。

       然后,源码源码使用qemu模拟器进行测试,网络网络特别提到一个关键问题:qemu的调试调试bzImage与gdb的vmlinux如何匹配。实际调试中,源码源码你需要确保gdb服务器与qemu的vmlinux关联正确。

       对于非图形化的gdb,可以借助VSCode进行更便捷的调试。配置步骤包括设置远程连接Ubuntu、内核源码查阅和开启调试功能。

       在VSCode中,知乎源码创建Linux配置,安装相关插件后,可通过“运行”->“添加配置”启动调试。

       在调试过程中,qemu需启用调试模式,通过输入's',VSCode可以捕获断点并进行深入调试。

       为了实现外网通信,需要在VM中设置网桥,将qemu接口连接到网络。棋牌h5源码

       测试阶段,可以将监听地址从.0.0.1调整为VM所在网段的地址,便于telnet测试。

ZYNQ+linux网口调试笔记(3)PL-ETH

       åœ¨ZYNQ上使用gigE Vision协议的网络接口相机。

        第一步:调通PS侧网口GEM0(Xilinx BSP默认配好)。

        第二步:调通PS侧网口GEM1(见前一篇文档:开发笔记(1))。

        第三步:调通PL侧网口(本文阐述)。

        第四步:在PL侧网口上验证Jumbo Frame特性,并在应用层适配gigE Vision协议。

        根据《xapp》可知,PL侧的PHY支持Base-X和SGMII两种配置,这两种配置对应两种不同的PHY引脚接口(连接到MAC)。而我们的hdf文件使用的是Base-X的配置。

        关于网口的Linux驱动,我们在官网找到一份资料: Xilinx Wiki - Zynq PL Ethernet 。资料很长,我们只看与我们相关的2.4.1 PL Ethernet BSP installation for Base-X”这一章节就可以了。

        首先导入FPGA设计同事提供的hdf文件:

        在弹出的图形界面里,进入Subsystem AUTO Hardware Settings——Ethernet Settings——Primary Ethernet,确认可以看到PL侧网络设备axi_ethernet_0,说明hdf文件里已包含了必要的网口硬件信息:

        上图中被选中的网口将成为Linux上的设备eth0。这里我们默认选择ps7_ethernet_0,即使用GEM0作为首选网口。

        启用Xilinx AXI Ethernet驱动

        进入Device Drivers -- Network device support – 选中Xilinx AXI Ethernet(以及Xilinx Ethernet GEM,这是PS侧网口的驱动)

        进入Networking support – 选中 Random ethaddr if unset

        进入Device Drivers -- Network device support -- PHY Device support and infrastructure – 启用Drivers for xilinx PHYs

        进入~~~~Device Drivers -- DMA Engine Support -– 禁用~~~~Xilinx AXI DMAS Engine~~~ (对应的配置项名为 ~~ CONFIG_XILINX_DMA ~~~)

        注意: Xilinx Wiki里对设备树节点的引用有误(&axi_ethernet),导致编译报错,应改为&axi_ethernet_0。

        注:PL-ETH驱动所在路径:<project>/build/tmp/work-shared/plnx_arm/kernel-source/drivers/net/ethernet/xilinx/xilinx_axienet_main.c和xilinx_axienet_mdio.c。对应的内核配置项为CONFIG_NET_VENDOR_XILINX和CONFIG_XILINX_AXI_EMAC。

        启用ethtool和tcpdump(调试用,非必须):

        然后将生成的BOOT.BIN和image.ub拷贝到SD卡根目录下,将SD卡插入板子上,上电运行。

        上电后,使用ifconfig eth1查看网口信息,观察MAC地址与设置的一致,且ifconfig eth1 ..1. up没有报错。

        测试网络通路:ping PC是通的。说明网口工作正常。

        Linux下eth1(即PL-ETH)的MAC地址有误

        问题描述:

        开机打印:

        注意:

        MAC地址是错的,驱动里解析出的是GEM0的MAC地址。

        试验发现,即使在system-user.dtsi里不写local-mac-address,也照样解析出的是GEM0的MAC。

        而将system-user.dtsi里的local-mac-address改名为pl-mac-address,并将驱动里解析的字符串也对应更改为pl-mac-address,则可以正确解析出来:

        Passing MAC address to kernel via Device Tree Blob and U-Boot:

       /support/answers/.html

        U-Boot里的环境变量ethaddr会覆盖掉设备树里pl-eth的local-mac-addr字段,从而影响Linux启动后的网卡MAC地址;

        但U-Boot里的环境变量ipaddr不会对Linux启动后的配置产生任何影响。因为设备树里根本就没有关于IP地址的配置。

        phy-mode怎么会是sgmii?查了下官方的提供的BSP里,也是“sgmii”。说明这个没问题。具体原因不清楚。

        @TODO: 设备树里的中断号的顺序如何影响功能?

        为何读出来的IRQ号不对呢?这是因为这里读到的不是硬件的中断号,而是经过系统映射之后的软件IRQ number。两者不具有线性关系。

        关于中断号的疑问:

        Linux上的网口eth0、eth1的顺序,似乎是按照phy地址从小到大来排布的。

        Xilinx xapp-zynq-eth.pdf (v5.0) July ,

       /support/documentation/application_notes/xapp-zynq-eth.pdf

        Xilinx Wiki - Zynq PL Ethernet:

       /wiki/spaces/A/pages//Zynq+PL+Ethernet

        Xilinx Wiki - Linux Drivers:

       /wiki/spaces/A/pages//Linux+Drivers

        Xilinx Wiki - Linux Drivers - Macb Driver:

       /wiki/spaces/A/pages//Macb+Driver

        Xilinx Wiki - Zynq Ethernet Performance:

       /wiki/spaces/A/pages//Zynq+Ethernet+Performance

        查到关于Jumbo frame MTU的定义,当前值为,可否改大一些?

        驱动源码里关于jumbo frame的说明:

        设置MTU为,发现ping包最大长度只能设为ping ..1. -s

       .pt'`后。这种方法的优点是直观,但缺点是频繁修改源代码,可能影响代码整洁度。

       另一种是命令行调试,无需修改源代码。只需在终端输入特定命令,社区小程序源码如`ipdb`,即可进入调试环境。在调试过程中,你可以使用`b`命令设置断点,如`b 9`表示在第9行设置断点。`tbreak`则创建一次性的断点。

       管理断点有多种方式,如`disable`禁用,`enable`重新启用,`delete`删除。问卷调查源码执行`c`或`continue`命令可以运行到下一个断点,`n`和`s`用于逐行执行,`a`查看当前函数参数,`r`执行至`return`,`l`和`ll`用于查看源代码。

       调试过程中,可以利用`restart`或`run`命令重启调试器,保持设置;如果需要全新的环境,`q`或`exit`退出后重新开始。`h`或`help`命令则提供了所有可用功能的详细说明。

       通过ipdb,终端调试变得更加直观和高效,帮助我们逐步优化模型,找出并修复问题。

Delphi 网络调试助手 源码

       浏览器辅助对象BHO(浏览器辅助对象)是IE浏览器的ATL COM对象在启动时自动加载。 BHO在IE的地址空间中运行,能够各种类型的IE浏览器中的事件消息可以访问该对象的聆听,并采取适当的行动。因此,当IE浏览器已成为主要的入口进入网络世界,BHO自然成为热点,无论是延长或IE浏览器的功能辅助软件讨厌流氓软件,所有的BHO青睐有加。因此,BHO插件的IE浏览器的扩展功能到底如何发展呢?这里要开发一个特定的URL过滤的BHO插件实例。

       浏览器事件监听器

       在Delphi 7,新的ActiveX Library项目MyBHO。然后在工程,命名为MyIEBHO创建COM对象。作为一种特殊的COM对象,BHO必须实现两个接口的IObjectWithSite和IDispatch的浏览器,它的IObjectWithSite接口用来钩和监控浏览器事件进行通信。

        IE浏览器BHO加载时,将自己的IUnknown接口与pUnkSite参数的BHO。通过pUnkSite分辨率,你可以让浏览器界面的IWebBrowser2。而获得的IWebBrowser2后,又得到了浏览器事件的连接点接口。建议的方法,然后使用这个接口,就可以实现浏览器的事件侦听器。的IObjectWithSite接口包含GetSite和SetSite方法,其中,通过SetSite实现的主要功能的IObjectWithSite接口。

       留下邮箱吧。 。发送到您的邮箱。 。