UHD USRP在调试模式下崩溃

发布于 2025-01-18 10:42:56 字数 772 浏览 6 评论 0原文

我有一个使用 USRP B200 的简单接收器应用程序。它在发布模式下工作正常,但在调试模式下崩溃。调用以下方法时程序崩溃。

uhd::usrp::multi_usrp::make(args)

这是崩溃时的堆栈视图: 输入图片这里的描述

该程序只需要 boost 库中的 libboost_thread 。我尝试了该库的不同版本(libboost_thread-vc141-mt-x64-1_69.lib、libboost_thread-vc141-mt-gd-x64-1_69.lib、libboost_thread-vc141-mt-sgd-x64-1_69.lib),但是得到了相同的结果。

环境:
操作系统:Windows 10 和 11
编译器:MSVC2017、MSVC2015 64位
超高清版本:3.15.0.0 和 4.1.0.5
升压版本:1.69、1.69、1.77 和 1.79
Libusb版本:1.0(调试模式dll)

编辑: 该程序在发布模式下运行稳定。此外,像这样的类似程序在 Ubuntu 上的发布和调试模式下运行良好,但在 Windows 上的调试模式下崩溃。所以,我不认为这是导致崩溃的隐藏错误。我怀疑 Windows 中的调试模式在 UHD、Boost 和 MSVC 之间存在一个点。我将不胜感激任何帮助。

I have a simple receiver application with USRP B200. It works fine in release mode but crashes in debug mode. Program crashes when following method is called.

uhd::usrp::multi_usrp::make(args)

Here the stack view when it crashes:
enter image description here

The program only requires libboost_thread from the boost library. I tried with different versions (libboost_thread-vc141-mt-x64-1_69.lib, libboost_thread-vc141-mt-gd-x64-1_69.lib, libboost_thread-vc141-mt-sgd-x64-1_69.lib) of that library but got the same result.

Environment :
OS: Windows 10 and 11
Compiler: MSVC2017, MSVC2015 64 bit
UHD version: 3.15.0.0 and 4.1.0.5
Boost versions : 1.69, 1.69, 1.77 and 1.79
Libusb version: 1.0 (debug mode dll)

Edit:
This program works stably in release mode. Also, a similar program like this one works fine in release and debug modes on Ubuntu, but crashes in debug mode on Windows. So, I don't think it's a hidden bug causing the crash. I suspect there is a point between UHD, Boost, and MSVC for the debug mode in Windows. I would be grateful for any help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

番薯 2025-01-25 10:42:56

我发现了问题。 UHD 二进制文件必须使用相同的构建配置。在调试模式下使用发布版构建的 uhd.dll 会导致崩溃。

不幸的是,UHD 的官方版本不包含调试版本。需要debug版本的,需要自己编译。这是构建指南:
https://files.ettus.com/manual/page_build_guide.html

这里是我的调试版本用于测试目的。
https://github.com/huzeyfe-erkek/UHD-binaries

I found the problem. The same build configuration must be used for UHD binaries. Using release built uhd.dll in debug mode causes the crash.

Unfortunately, The official build of UHD doesn't contain debug builds. Those who need the debug version, need to compile it themselves. Here is the build guide:
https://files.ettus.com/manual/page_build_guide.html

And here are the debug builds of mine for testing purposes.
https://github.com/huzeyfe-erkek/UHD-binaries

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文