美文网首页
GDB和LLDB的区别

GDB和LLDB的区别

作者: Felix的笔头 | 来源:发表于2018-08-15 11:25 被阅读0次

什么是GDB和LLDB
我们在开发iOS程序的时候常常会用到调试跟踪,如何正确的使用调试器来debug十分重要。xcode里有内置的Debugger,老版使用的是GDB,xcode自4.3之后默认使用的就是LLDB了。

 GDB:
 UNIX及UNIX-like下的调试工具

 LLDB:
 LLDB是个开源的内置于XCode的具有REPL(read-eval-print loop)特征的Debugger,其可以安装C++或者Python插件。

所以他们两个都是调试用的Debugger,只是LLDB是比较高级的版本,或者在调试开发iOS应用时比较好用,不然人家苹果为什么换成了LLDB了呢!

lldb与gdb命令名的对照表:http://lldb.llvm.org/lldb-gdb.html

REPL ( pronounced "repple" )

「读取-求值-输出」循环(英语:Read-Eval-Print Loop,简称REPL)是一个简单的,交互式的编程环境。这个词常常用于指代一个Lisp的交互式开发环境,但也能指代命令行的模式和例如APL、BASIC、Clojure、F#、Haskell、J、Julia、Perl、PHP、Prolog、Python、R、Ruby、Scala、Smalltalk、Standard ML、Swift、Tcl、Javascript这样的程序语言所拥有的类似的编程环境。这也被称做交互式顶层构件(interactive toplevel)

LLDB的常用命令:

1> po:打印对象,会调用对象 description 方法。是 print-object 的简写;命令po跟p很像,p输出的是基本类型,po输出的Objective-C对象。调试器会输出这个 object 的 description。

2> expr:可以在调试时动态执行指定表达式,并将结果打印出来,很有用的命令

3> print:也是打印命令,需要指定类型

4> bt:打印调用堆栈,是 thread backtrace 的简写,加 all 可打印所有thread 的堆栈

5> br l:是 breakpoint list 的简写

6> n:是换行

7> p:是打印这个对象所属的类,即其父类

相关文章

  • GDB和LLDB的区别

    什么是GDB和LLDB我们在开发iOS程序的时候常常会用到调试跟踪,如何正确的使用调试器来debug十分重要。xc...

  • lldb 与 gdb的命令对比

    LLDB to GDB Command Map 官方文档:GDB and LLDB Command Example...

  • iOS_LLDB 调试命令

    GDB 和LLDB LLDB 在xcode4.3或者之后的版本里面默认的调试器,在这之前用的就是GDB。 LLDB...

  • LLDB

    lldb与gdb命令名的对照表:http://lldb.llvm.org/lldb-gdb.html

  • GDB 与 LLDB 命令对照表,非常棒

    GDB与LLDB命令对照表 GDB 与 LLDB 命令对照表1GDB 与 LLDB 命令对照表2 设置观察点 观察...

  • GDB TO LLDB COMMAND MAP

    GDB TO LLDB COMMAND MAP Below is a table of GDB commands ...

  • LLDB杂谈

    LLDB 在Xcode5中,LLDB正式取代之前的GDB成为Xcode的标准调试器。和LLVM协同工作。LLDB兼...

  • iOS安全防护方案

    1.阻止动态调试 GDB、LLDB是Xcode内置的动态调试工具。使用GDB、LLDB可以动态的调试你的应用程序(...

  • LLDB调试命令

    LLDB简介 LLDB 是 XCode 内置的调试工具。从 Xcode5 开始,LLDB 已经取代 GDB,成为 ...

  • LLDB调试和实战

    LLDB LLDB官方文档教程 Xcode4.0开始,编译器改用LLVM,调试器从gdb改为LLDB LLDB全称...

网友评论

      本文标题:GDB和LLDB的区别

      本文链接:https://www.haomeiwen.com/subject/auxkjftx.html