zoukankan      html  css  js  c++  java
  • LLDB调试器

    LLDB调试器

    这是LLDB文档!

    LLDB是下一代高性能调试器。它是作为一组可重用的组件构建的,这些组件可充分利用大型LLVM Project中的现有库,例如Clang表达式解析器和LLVM反汇编程序。

    LLDB是macOS上Xcode中的默认调试器,并支持在台式机,iOS设备和模拟器上调试C,Objective-C和C ++。

    LLDB项目中的所有代码都可以在 “带有LLVM例外的Apache 2.0许可”下获得

    使用LLDB 

    有关LLDB命令语言的介绍,请转到LLDB文档。对于已经熟悉GDB的用户,有一个备忘录,其中列出了常见任务及其在GDB到LLDB命令映射中的LLDB等效项。

    关于如何使用Python编写LLDB脚本的信息也有很多,Python Reference是一个很好的起点。

    编译器集成的好处

    LLDB将调试信息转换为Clang类型,以便它可以利用Clang编译器基础结构。允许LLDB在表达式中支持最新的C,C ++,Objective-C和Objective-C ++语言功能以及运行时runtime,无需重新实现任何此功能。在函数调用表达式,反汇编指令和提取指令详细信息等等时,还利用编译器来处理所有ABI详细信息。

    主要好处包括:

    • 对C,C ++,Objective-C的最新语言支持
    • 可以声明局部变量和类型的多行表达式
    • 在支持时将JIT用于表达式
    • 无法使用JIT时评估表达式中间表示(IR)

    可重用性

    LLDB调试器API在共享库中作为面向C ++对象的接口公开。lldb命令行工具链接到并使用此公共API。在macOS上,共享库作为名为LLDB.framework的框架开放,而Unix系统将其公开为lldb.so。然后,还通过Python脚本绑定公开了整个API,该绑定允许在LLDB嵌入式脚本解释器中以及在将lldb.py模块加载到标准python脚本文件中的任何python脚本中使用该API。有关如何以及在LLDB API中使用Python的方式的更多详细信息,请参见Python参考页面。

    共享LLDB API不仅使LLDB可以用于调试,而且还可以用于符号化,反汇编,对象和符号文件自省等等。

    平台支持

    已知LLDB可在以下平台上工作,但欢迎移植到新平台:

    • 针对i386,x86_64和AArch64的macOS调试
    • 在i386,x86_64和AArch64上调试iOS,tvOS和watchOS模拟器
    • 在ARM和AArch64上进行iOS,tvOS和watchOS设备调试
    • 针对i386,x86_64和PPC64le的Linux用户空间调试
    • 针对i386和x86_64的FreeBSD用户空间调试
    • i386的Windows用户空间调试(*)

    (*)对Windows的支持正在积极开发中。预计基本功能会起作用,功能会迅速改善。

    参与进来

    使用git检查LLVM源代码树,并在lldb 子目录中找到源代码:

    > git clone https://github.com/llvm/llvm-project.git

    注意,LLDB通常使用CMake和Ninja从主干建立。此外,还可以构建:

    • 在MacOS上使用生成的Xcode项目
    • 在Linux和FreeBSD上使用Clang和libstdc ++ / libc ++
    • 在带有GCC / Clang和libstdc ++ / libc ++的NetBSD上
    • 在Windows上具有针对VS 2017或更高版本的生成项目

    有关构建说明,请参见LLDB构建页面

    有关LLDB的讨论应转到lldb-dev邮件列表。提交消息会自动发送到lldb-commits邮件列表,这也是补丁提交的首选邮件列表。

    如果寻找一些有助于lldb的有趣领域,请参见“项目”页面

    人工智能芯片与自动驾驶
  • 相关阅读:
    A1023 Have Fun with Numbers [大整数乘法]
    大整数的四则运算
    A1096 Consecutive Factors [因子分解]
    A1078 Hashing [质数和散列结合]
    A1015 Reversible Primes [质数问题]
    又谈进制转换
    A1088 Rational Arithmetic [分数四则运算]
    A1081 Rational Sum [分数计算]
    linux主流系统配置静态ip
    主机ping虚拟机请求超时,虚拟机ping主机正常ping通导致ssh连接问题
  • 原文地址:https://www.cnblogs.com/wujianming-110117/p/14189121.html
Copyright © 2011-2022 走看看