Maison >développement back-end >C++ >Comment déboguer des programmes C++ multiplateformes ?
Pour déboguer des programmes C++ multiplateformes, vous pouvez utiliser le débogage à distance GDB ou le débogage à distance LLDB : Débogage à distance GDB : installez le serveur GDB sur le système cible et compilez le programme cible. Utilisez GDB sur le système hôte pour vous connecter au serveur cible pour le débogage. Débogage à distance LLDB : installez LLDB sur le système hôte et compilez le programme cible. Démarrez le serveur LLDB sur le système cible et connectez-vous au système hôte pour le débogage.
Comment déboguer des programmes C++ multiplateformes ?
Introduction
Le débogage de programmes C++ multiplateformes peut être difficile car ils peuvent s'exécuter sur différents systèmes d'exploitation et compilateurs. Cet article fournit un guide pour déboguer les programmes C++ multiplateformes à l'aide du débogage à distance GDB et du débogage à distance LLDB.
Débogage à distance GDB
gdbserver
) sur le système cible. gdbserver
)。-g
和 -gdwarf=2
。gdbserver :端口号 目标可执行文件
,其中端口号是任意未使用的端口。gdb
工具并远程附加到目标服务器:(gdb) target remote :localhost:端口号
。LLDB 远程调试
-g
和 -fvisibility=hidden
。lldb-server platform --listen :端口号 :程序路径
。lldb
并远程连接到目标服务器:(lldb) platform connect connect://localhost:端口号
-g
et -gdwarf=2
.
Sur le système cible, exécutez gdbserver :portnumber target executable
, où portnumber est tout port inutilisé.
Sur le système hôte, utilisez l'outil gdb
et attachez-vous à distance au serveur cible : (gdb) target remote :localhost:port number
.
-g
et -fvisibility=hidden
. lldb-server platform --listen :port number :program path
. Connexion à distance : Sur le système hôte, exécutez lldb
et connectez-vous à distance au serveur cible : (lldb) platform connect connect://localhost:port number
.
#include <iostream> int main() { std::cout << "Hello from Target!" << std::endl; return 0; }
g++ -g -gdwarf=2 Target.cpp -o Target🎜🎜Démarrer G DB serveur : 🎜🎜
gdbserver :1234 Target🎜🎜 Attacher au serveur à distance : 🎜🎜
gdb (gdb) target remote localhost:1234🎜🎜 Définir les points d'arrêt et déboguer : 🎜🎜
(gdb) break main (gdb) run🎜🎜 Déboguer à distance un programme multiplateforme simple utilisant LLDB : 🎜🎜🎜🎜Target.cpp Code source : 🎜 🎜
#include <iostream> int main() { std::cout << "Hello from Target!" << std::endl; return 0; }🎜🎜Compilez Target.cpp : 🎜🎜
clang++ -g -fvisibility=hidden Target.cpp -o Target🎜🎜Démarrez le serveur LLDB : 🎜🎜
lldb-server platform --listen :1234 ./Target🎜🎜Connectez-vous au serveur à distance : 🎜🎜
lldb (lldb) platform connect connect://localhost:1234🎜🎜Définissez les points d'arrêt et déboguez 🎜🎜rrre : ee
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!