DPDK单步跟踪(3)-如何利用visual studio 2019和visual gdb来单步调试dpdk

准备工作

因为时间的关系,我想到哪说到哪,可能没那么高的完成度。

但其实有心的人,看到这个标题,就关了本文自己能做了。

why和how to build debug version DPDK,见前两篇。这里我们准备开始。

首先,你有一台linux机器,ubuntu 还是centos均可。

然后装好vs2019或2022之类的新版本。

然后,有你需要调试的dpdk程序。

还有,在本地,有一套之前编译dpdk 的原码。编译时什么,这套原码就是什么样,当然这句是废话。

当然,在开始之前,我抱歉一下,因为我是用我们真正的工程来调的,所以,可能我没办法发所有的图。

但以后我会补上。

可以挑一个dpdk 例子,例如:

dpdk\examples\multi_process

网上也有helloworld的例子,如这位同仁的:

https://blog.csdn.net/qq_27071221/article/details/114988226

然后,第一篇中,我讲到我是因为要分析第二个secondary启动的dpdk 进程的问题,才进行这次跟踪的。

我的意思是说,如果你的程序,如果没出问题,你就不要折腾了。我这的确是有事情要处理。

假定你的工程

假定你的工程是基于CMake,并且编译和执行,都是基于一个linux shell的。

而且的工程是在arm开发板上能编译过的(注意,我的dpdk是在编译服务器交叉编译得到的)。

而且linked的 dpdk是debug版的(见前一篇)。

而且是静态link 的,因为我没有试动态的情况。大家自己尝试。

建立工程

装好visual gdb,然后如下图:继续但无需代码。

我知道大家都喜欢英文版的vs,但我不清楚我的装好后就是英文版本。最好装英文的,因为有问题到网上问的时候,时常对应不到自己的工具上。
新建项目

给工程取个好名字,这点不要学我啊

之后的根据自己的需要

后面我就不一一抓图了,之后无非是选择targent机器

我们用的是双机调试。

原因是,目标程序是在targent上直接编译的。

你还可以选3机,如果你的arm机实在是资源特别少.

后面大家自己补充吧。

然后我们进入调试的环节。

不是我要分得这么多篇,因为的确我时间有限。

以后我可以会完善本文。

而且本文不是重点。

最后重点是单步调试。

后记:

在结束本文之前,我想说一下,有经济能力的还是买一套visual gdb。值得。

visual studio自带的,如果按百分制,微软的水平,在这件事上,只能得5分,不能再多了。

不是微软的不能用,但对你来说,投入产出比,应该是负值。

你要是花钱买了visual gdb,我认为是值得的。我会是买的。我的beyondcompare 就是买的。

这个我没买是的确支付方面,比较麻烦。

所以,我去北边国家的网站下了一个。

至于说微软的为什么差,这个我之前写过。

好的软件先定义"场景"Scenes,然后定义角色role,然后基于现有的资产,无缝地衔接。

这些微软都没有。我不想再批评微软,但这是事实。

对了,前面提到的完成度,这是我在看5分钟讲电影中学到的评价导演的话,让这里很合适。

微软不止是如Jobs所说,没有taste,这20年来,在完成度这个方面,微软很糟。

相关推荐
hzw05103 小时前
Jupyter的使用
ide·python·jupyter
棒棒糖的糖不含糖6 小时前
idea生成类信息及快捷开发配置
ide
孟章豪7 小时前
SQL Server Data Tools (SSDT)入门教程
visual studio
JANGHIGH7 小时前
VSCode值得推荐的插件(持续更新中)
ide·vscode·编辑器
Antonio9159 小时前
【CMake】使用CMake在Visual Studio内构建多文件夹工程
开发语言·c++·visual studio
小周的C语言学习笔记9 小时前
鹏哥C语言36-37---循环/分支语句练习(折半查找算法)
c语言·算法·visual studio
cliffordl11 小时前
vscode 环境搭建
ide·vscode·编辑器
JANGHIGH11 小时前
VSCode引用Eigen库无法识别问题解决
ide·vscode·编辑器
我就是全世界13 小时前
开源集成开发环境搭建之VSCode启动Jupyter Notebook
ide·vscode·jupyter
程序猿进阶1 天前
如何在 Visual Studio Code 中反编译具有正确行号的 Java 类?
java·ide·vscode·算法·面试·职场和发展·架构