DPDK单步跟踪(2)-如何编译debug版
2023-12-22 12:46:51
第一步是要编译出debug版本的dpdk.
如何下载和编译,这里我不讲了。我们只讲debug
https://doc.dpdk.org/guides/prog_guide/build-sdk-meson.html
setup
meson setup --buildtype=debug debugbuild
config
meson configure -Dbuildtype=debug
就是这么很简单。
例如:
你的工程叫
myproject
则变换为:
meson setup --buildtype=debug myproject
?meson configure -Dbuildtype=debug
当然,如果有自定义的参数,还要继承下来。
就是这么简单。
然后在根目录,检查一下:
build.nanja
是不是,在编译行,已经由O3改为-g
注意,一定是要有-g, 仅仅O0是不能单步跟踪的。
不要问我为什么,我也不清楚。
似乎是不优化,与将debug的信息,写入elf,之间,还有一点差别。
这点,以前我是遇到过的,那个工程没有 Og,只是O0,有一些行,是没有办法跟踪的。
也就是GCC,对于O0,也进行了优化。
我说不清楚是,说不知道是由于linker还是compiler
图我不粘了。请大家自己关注就可以了。不仅是编译行,还有下面的link行。都会不同。
编译出的输出,大小也不同。
然后,用这个刚刚帮好的debug版,来替代掉之前默认的。再重编你的工程。
注意注意注意:
这里我是用的静态库.a,我没试过动态库。
如果你用的是dll,so,多半要你自己研究了。
多说一句
网上许多人的都是改makefile,这个我的确不清楚。因为dpdk 早就采用meson 和nanji来编译了。
我是没找到makefile,上面的那个build.nanja,看来替代了makefile了。所以,我觉得我写本文是有意义的。
不要再找makefile了。困惑的同仁们。
文章来源:https://blog.csdn.net/haoyujie/article/details/135149727
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!