要调试跨平台 c++++ 程序,可以使用 gdb 远程调试或 lldb 远程调试:gdb 远程调试:在目标系统安装 gdb 服务器并编译目标程序。在主机系统使用 gdb 连接到目标服务器进行调试。lldb 远程调试:在主机系统安装 lldb 并编译目标程序。在目标系统启动 lldb 服务器并连接到主机系统进行调试。

如何调试跨平台 C++ 程序?
介绍
跨平台 C++ 程序的调试可能具有挑战性,因为它们可以在不同的操作系统和编译器上运行。この記事提供了使用 GDB 远程调试和 LLDB 远程调试调试跨平台 C++ 程序的指南。
立即学习“C++免费学习笔记(深入)”;
GDB 远程调试
系统易学易懂,用户只需会上网、不需学习编程及任何语言,只要使用该系统平台,只要会打字,即可在线直接完成建站所有工作。本程序适合不懂php环境配置的新手用来在本机调试智能SiteSEO网站优化软件,安装过程极其简单。您的网站地址:http://localhost您的网站后台:登录地址: http://localhost/admin.php密 码: admin服务器套件所包含的软件:nginx-0.7
-
GDB 服务器安装:在目标系统上安装 GDB 服务器(
gdbserver)。 -
目标程序编译:使用 GDB 兼容的标志编译目标程序,例如
-g和-gdwarf=2。 -
启动 GDB 服务器:在目标系统上,运行
gdbserver :端口号 目标可执行文件,其中端口号是任意未使用的端口。 -
远程附加:在主机系统上,使用
gdb工具并远程附加到目标服务器:(gdb) target remote :localhost:端口号。 - 调试:现在可以在主机系统上对目标程序进行远程调试。
LLDB 远程调试
- LLDB 安装:在主机系统上安装 LLDB 调试器。
-
目标程序编译:使用 LLDB 兼容的标志编译目标程序,例如
-g和-fvisibility=hidden。 -
LLDB 服务器启动:在目标系统上,运行
lldb-server platform --listen :端口号 :程序路径。 -
远程连接:在主机系统上,运行
lldb并远程连接到目标服务器:(lldb) platform connect connect://localhost:端口号。 - 调试:现在可以在主机系统上对目标程序进行远程调试。
实战案例
使用 GDB 远程调试一个简单的跨平台程序:
- Target.cpp 源代码:
#includeint main() { std::cout << "Hello from Target!" << std::endl; return 0; }
- 编译 Target.cpp:
g++ -g -gdwarf=2 Target.cpp -o Target
- 启动 GDB 服务器:
gdbserver :1234 Target
- 远程附加到服务器:
gdb (gdb) target remote localhost:1234
- 设置断点并调试:
(gdb) break main (gdb) run
使用 LLDB 远程调试一个简单的跨平台程序:
- Target.cpp 源代码:
#includeint main() { std::cout << "Hello from Target!" << std::endl; return 0; }
- 编译 Target.cpp:
clang++ -g -fvisibility=hidden Target.cpp -o Target
- 启动 LLDB 服务器:
lldb-server platform --listen :1234 ./Target
- 远程连接到服务器:
lldb (lldb) platform connect connect://localhost:1234
- 设置断点并调试:
(lldb) breakpoint set -n main (lldb) run










