【问题标题】:How can I enable debug mode in a dpdk-based application?如何在基于 dpdk 的应用程序中启用调试模式?
【发布时间】:2018-03-28 21:54:18
【问题描述】:
我在运行基于 dpdk 的应用程序时遇到了一些错误。我发现调用 dpdk 库提供的 rte_eth_dev_configure() 函数时会发生错误。错误代码是-22。但是,我希望应用程序显示更多调试信息,以便我可以快速专注于错误部分。
我做了 RTFM 并修改了$RTE_SDK/build/.config。我把RTE_LIBRTE_ETHDEV_DEBUG 变成了y。但它没有用。 rte_vlog() 函数将日志消息放在哪里?
你愿意帮助我吗?任何建议表示赞赏!
【问题讨论】:
标签:
c
debugging
logging
network-programming
dpdk
【解决方案1】:
我将CONFIG_ RTE_LIBRTE_ETHDEV_DEBUG=y 添加到${RTE_SDK}/config/defconfig_{RTE_TARGET} 配置文件并重建目标。它有效。
【解决方案2】:
你也应该改变默认的日志级别,否则编译过程中会编译出所有的调试信息,即:
RTE_LOG_LEVEL=RTE_LOG_DEBUG
RTE_LIBRTE_ETHDEV_DEBUG=y
也请查看EXTRA_CFLAGS。您可能还想添加调试符号并禁用优化,即:
make EXTRA_CFLAGS="-O0 -g" ...