gpt4 book ai didi

c++ - 如何使用 Visual Studio 为 Raspberry Pi 调试 Linux TUI 应用程序

转载 作者:行者123 更新时间:2023-12-01 14:48:10 24 4
gpt4 key购买 nike

我一直在编写一个 C++ TUI 应用程序,使用 ncurses 库在我的树莓派终端中运行。我一直在使用 Visual Studio 中的 linux 远程 C++ 开发插件来执行此操作,但在调试它时遇到了一些障碍。

内置于 Visual Studio 中有一个 linux 控制台窗口,它显示了 Visual Studio 使用 raspberry pi 建立的 ssh 连接的输出,所以如果你正在编写一个控制台界面,只使用 std::cout 和 std::cin 它会用于交互和调试应用程序的工作。然而,Ncurses 不使用标准输入和输出流,因此用代码编写的 ncurses 接口(interface)不会出现在 linux 控制台窗口中。

因此,本质上,当我在 Visual Studio 中构建和运行我的 linux 解决方案而不是使用 linux 控制台窗口时,我想要做的是在我的树莓派屏幕上与我的应用程序的输出进行交互。我希望我的 ncurses 应用程序在 Debug模式下运行的终端窗口在我的树莓派的主显示器上生成,同时在 Visual Studio 中仍然具有完整的调试控件(如断点等)。我不知道该怎么做。

Pre-launch Command property

我在其他使用 Visual Studio 为 linux 编写的调试 GUI 应用程序(例如使用 GTK)的教程中看到,在 C++ Linux 项目的调试属性页面中找到的“预启动命令”属性可能是关键这。在 GTK GUI 教程中,他们将命令 export DISPLAY=:0.0 放在此属性中,以便 Debug模式下的 GUI 应用程序在树莓派的主显示器上生成。但是,这不适用于 TUI 应用程序。因此,我希望我的问题的解决方案就像找到正确的论点来放入这个属性一样简单。

我在这里指的 GUI 教程的链接是 http://comfilewiki.co.kr/en/doku.php?id=comfilepi:create_a_linux_project:index#specify_the_include_paths_in_the_project_s_properties

感谢任何帮助我的人。

最佳答案

一个 RaspberryPi可以运行一些从 Debian 派生的 Linux 发行版,例如Raspbian .

RaspberryPi 具有 wifi 和以太网。您应该能够将它们配置为服务 ssh(1)通过sshd(8)通过 wifi 或通过以太网。

一次 sshd服务器正在您的 RaspBerryPi 上运行,您只需使用 ssh在您的 Linux 交叉开发机器上通过命令行访问它。

gdb调试器有 remote debugging设施,但您可以在通过 ssh 访问的 RaspBerryPi 上运行它

I've been writing a C++ TUI application to run in the terminal of my raspberry pi using the ncurses library.



我有一个更简单的建议:

在运行某些 Linux 发行版的笔记本电脑或台式机上调试 C++ TUI 应用程序。

仅在调试后为您的 RaspBerryPi 交叉编译它。

大多数 C++ 应用程序都可以非常小心地编写,以便轻松 ported从在 x86-64 笔记本电脑上运行的 Debian 到在 RaspberryPi 上运行的 Raspbian。请注意遵守 C++11(阅读 n3337)或 C++17 标准。 Enable使用最近的 GCC 编译时出现的大多数警告,即使它是一个交叉编译器。所以至少使用 g++ -g -Wall -Wextra并改进您的 C++ 源代码以尽量减少编译器警告。

建议:在您的开发笔记本电脑或台式机上安装一些 Linux 发行版。

为此,您只需要不到 100 GB 的连续可用磁盘空间。两个 UbuntuDebian非常容易安装,并且可以免费下载。

一旦 Linux 在您的笔记本电脑或台式机上运行,​​并且 Raspbian 在您的 RaspberryPi 上运行,您只需要连接它们,例如使用以太网电缆。

我建议安装 build-essentialcrossbuild-essential-arm64 Linux 笔记本电脑上的 Debian(或 Ubuntu)上的软件包。还可以考虑安装 git版本控制, emacs编辑器(和/或 geany 和/或 visual studio code ), gdb调试器, g++ compiler , doxygen文档生成器,可能是 Qt图形工具包, ninja构建自动化工具, GNU guile和/或 Python和/或 Lua和/或 GNU awk脚本语言

不要忘记花几天时间阅读文档。

关于c++ - 如何使用 Visual Studio 为 Raspberry Pi 调试 Linux TUI 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61230492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com