如何在基于 dpdk 的应用程序中启用调试模式?
How can I enable debug mode in a dpdk-based application?
我在 运行 基于 dpdk 的应用程序时遇到一些错误。我发现调用 dpdk 库提供的 rte_eth_dev_configure()
函数时发生错误。错误代码是-22。但是,我希望应用程序显示更多调试信息,以便我可以快速关注错误部分。
我做了 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}
配置文件并重建目标。有效。
我在 运行 基于 dpdk 的应用程序时遇到一些错误。我发现调用 dpdk 库提供的 rte_eth_dev_configure()
函数时发生错误。错误代码是-22。但是,我希望应用程序显示更多调试信息,以便我可以快速关注错误部分。
我做了 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}
配置文件并重建目标。有效。