如何在基于dpdk的应用程序中启用调试模式?
问题描述:
运行基于dpdk的应用程序时遇到一些错误。调用dpdk库提供的rte_eth_dev_configure()
函数时发现错误。错误代码是-22。但是,我希望应用程序显示更多调试信息,以便我可以快速关注错误部分。如何在基于dpdk的应用程序中启用调试模式?
我做了RTFM并修改了$RTE_SDK/build/.config
。我把RTE_LIBRTE_ETHDEV_DEBUG
变成了y
。但它没有奏效。 rte_vlog()
函数在哪里放置日志消息?
你想帮我吗?任何建议表示赞赏!
答
你也应该更改默认的日志级别,否则所有的调试信息将在编译过程中编译出来,即:
RTE_LOG_LEVEL=RTE_LOG_DEBUG
RTE_LIBRTE_ETHDEV_DEBUG=y
也请看看EXTRA_CFLAGS
。您可能还需要添加的调试符号和禁用优化,即:
make EXTRA_CFLAGS="-O0 -g" ...
答
我添加CONFIG_ RTE_LIBRTE_ETHDEV_DEBUG=y
到${RTE_SDK}/config/defconfig_{RTE_TARGET}
配置文件和重建目标。有用。