Maison  >  Article  >  développement back-end  >  Comment utiliser LLDB pour déboguer des programmes C++ ?

Comment utiliser LLDB pour déboguer des programmes C++ ?

WBOY
WBOYoriginal
2024-06-02 19:15:19785parcourir

Comment utiliser LLDB pour déboguer des programmes C++ ? Installer LLDB Démarrez LLDB Utilisez les commandes de base pour exécuter des programmes, afficher des variables et définir des expressions Exemples pratiques : Débogage des fuites de mémoire Autres conseils

如何使用 LLDB 调试 C++ 程序?

Comment utiliser LLDB pour déboguer des programmes C++

LLDB est un puissant débogueur conçu pour C, C++ et Programmation Objective-C. Il fournit un riche ensemble de commandes et de fonctions qui vous permettent d'avoir un aperçu de l'exécution de votre programme.

Installer LLDB

LLDB est livré avec Xcode, si Xcode est déjà installé, aucune installation supplémentaire n'est requise. Sinon, vous pouvez télécharger LLDB à partir de la [page de téléchargement LLVM](https://releases.llvm.org/download.html).

Démarrer LLDB

Pour déboguer un programme dans LLDB, utilisez la commande suivante :

lldb path/to/program.exe

Cela démarrera LLDB et chargera le programme.

Commandes de base

  • run : Exécutez le programme. run:运行程序。
  • next:执行下一行代码。
  • step:执行下一行代码,并进入函数调用。
  • continue:继续执行程序,直到遇到断点或异常。
  • break:在指定行号或函数名称处设置断点。
  • disassemble:反汇编指定函数或地址附近的代码。

查看变量

要查看变量的值,请使用 p 命令。例如,要打印变量 x 的值,请使用:

p x

设置表达式

您可以使用 expr 命令设置表达式并查看其结果。例如,要评估表达式 x + y,请使用:

expr x + y

实战案例:调试内存泄漏

要使用 LLDB 调试内存泄漏,请执行以下步骤:

  1. 在程序中设置断点。
  2. 运行程序并执行到断点处。
  3. 使用 image list 命令列出加载的映像。
  4. 使用 image dump -addresses -heap 命令转储正在使用的堆空间。
  5. 查找分配但从未释放的任何大块内存。
  6. 使用 backtrace 命令来查找分配内存的代码路径。

其他提示

  • 使用 help
  • next : exécute la ligne de code suivante.
  • étape : Exécutez la ligne de code suivante et entrez l'appel de fonction.
🎜continue : continuez à exécuter le programme jusqu'à ce qu'un point d'arrêt ou une exception soit rencontré. 🎜🎜break : définissez un point d'arrêt au numéro de ligne ou au nom de fonction spécifié. 🎜🎜désassembler : désassemblez le code à proximité de la fonction ou de l'adresse spécifiée. 🎜🎜🎜🎜Afficher les variables🎜🎜🎜Pour afficher la valeur d'une variable, utilisez la commande p. Par exemple, pour imprimer la valeur de la variable x, utilisez : 🎜rrreee🎜🎜Définissez une expression🎜🎜🎜Vous pouvez définir une expression et visualiser son résultat en utilisant le expr commande. Par exemple, pour évaluer l'expression x + y, utilisez : 🎜rrreee🎜🎜Exemple pratique : Débogage d'une fuite de mémoire🎜🎜🎜Pour déboguer une fuite de mémoire à l'aide de LLDB, suivez ces étapes : 🎜
    🎜 Définissez des points d'arrêt dans votre programme. 🎜🎜Exécutez le programme et exécutez-le jusqu'au point d'arrêt. 🎜🎜Utilisez la commande image list pour lister les images chargées. 🎜🎜Utilisez la commande image dump -addresses -heap pour vider l'espace du tas utilisé. 🎜🎜Trouvez les gros morceaux de mémoire alloués mais jamais libérés. 🎜🎜Utilisez la commande backtrace pour trouver le chemin du code qui a alloué la mémoire. 🎜
🎜🎜Autres conseils🎜🎜🎜🎜Utilisez la commande help pour afficher la documentation d'une commande. 🎜🎜Vous pouvez trouver plus d'informations dans la documentation LLDB : [Documentation LLDB](https://lldb.llvm.org/documentation.html). 🎜🎜

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn