• 请不要在回答技术问题时复制粘贴 AI 生成的内容
shijingshijing
V2EX  ›  程序员

现在还有人用 GDB 么?

  •  
  •   shijingshijing · May 28, 2018 · 11129 views
    This topic created in 3086 days ago, the information mentioned may be changed or developed.

    rt,想了解一下,现在还有人用 GDB 的那种一条条命令调试的码农么?我一般都是 IDE 里面直接鼠标点点打断点单步执行调试,后台还是 GDB 但 IDE 做了很多脏活累活,感觉 GDB 用命令那样用的话很累。

    主力 C/C++的筒子们,你们现在一般用什么方法?或者有什么好的 IDE 或者 toolchain ? 手动这样调我以前在嵌入式小板的 Terminal 里面做过,走 COM 口调命令行然后直接用 vi 更改,然后编译,然后 GDB 走一遍。

    56 replies  •  2018-05-30 17:36:40 +08:00
    Kmzl
    Kmzl
    May 28, 2018 via Android
    1
    上一家公司有。预定义一些调试函数,很好用
    Pyjamas
    Pyjamas
    May 28, 2018❤️1
    3
    [peda]( https://github.com/longld/peda)

    考虑一下
    bombless
    bombless
    May 28, 2018 via Android❤️1
    4
    ……看你习惯什么工作流了。你要是调试 Windows 驱动,用 cdb / windbg 不也差不多
    wweir
    wweir
    May 28, 2018
    5
    现在谁还用 gdb ?都改用 lldb 了
    0x11901
    0x11901
    May 28, 2018
    6
    一般用苹果爸爸的 lldb
    6ufq0VLZn0DDkL80
    6ufq0VLZn0DDkL80
    May 28, 2018
    7
    肯定有啊,看某个内存地址的内容,看堆栈之类的
    phoebuss
    phoebuss
    May 28, 2018 via Android
    8
    看 coredump 没 gdb 不行啊…
    SupperMary
    SupperMary
    May 28, 2018 via Android
    9
    用 gdb 简直要吐血
    changnet
    changnet
    May 28, 2018 via Android
    10
    没 gdb 简直要死。c++程序,线上的不用 gdb 看哪来的 ide。线下日志加 gdb 调试,win 环境就用 vs
    pyufftj
    pyufftj
    May 28, 2018
    11
    对于 ctf 的 pwn 选手而言,使用 gdb 是家常便饭。我也准备学习一下这工具了。
    shijingshijing
    shijingshijing
    OP
    May 29, 2018
    12
    @changnet
    @phoebuss

    @cholerae
    @pyufftj
    可能有点误解,我的意思不是不用 GDB,而是用的方法,除非是纯命令行没有其他辅助工具,否则很少有人敲 gdb xxx.exe ,然后在命令行下 b 打断点,这样操作吧。基本上都是在 IDE 里面,通过 IDE 调用 GDB 完成吧。
    redsonic
    redsonic
    May 29, 2018
    13
    Tonara
    Tonara
    May 29, 2018
    14
    ssh 登 dev 机器上开发,没得选
    catror
    catror
    May 29, 2018 via Android
    15
    还在用啊,习惯了
    lsmgeb89
    lsmgeb89
    May 29, 2018
    16
    有啊,嵌入式都是 gdb 吧,其实有 gdb 不错了,有的环境只能 printf
    ryd994
    ryd994
    May 29, 2018 via Android❤️2
    17
    有 gdb 就知足吧
    内核开发,调试全靠 printk,保持现场全靠 ssh 进去 dmesg -w
    snnn
    snnn
    May 29, 2018
    18
    gdb 当然是首选
    gnaggnoyil
    gnaggnoyil
    May 29, 2018
    19
    基于 GDB 的 GUI?有啊. https://github.com/cs01/gdbgui

    不过讲道理 gdb 打断点单步反汇编什么的都挺方便的,而且还可以用 gdbinit 和 pretty printer 扩展.我用 gdb 调程序比我用 vim 写程序还快,虽然这主要是因为我不喜欢 linux 那坨 CUI text editor...
    polaa
    polaa
    May 29, 2018
    20
    gdb 的自由度大多了
    liuzhedash
    liuzhedash
    May 29, 2018
    21
    有 gdb 已经很棒棒了,嵌入式开发只会 printf
    bfdh
    bfdh
    May 29, 2018
    22
    嵌入式环境,一般先看代码,看不出问题加打印,打印不行再 GDB。如果有 coredump 文件,直接 GDB。
    cnmllll
    cnmllll
    May 29, 2018
    23
    目前的环境只能用 GDB, 其实习惯就好了。比 GDb 更难受的是,远程指挥别人 GDB.
    mengzhuo
    mengzhuo
    May 29, 2018
    24
    举手~

    Go 也用 gdb 调试,不过是最终手段,一般用日志。
    prolic
    prolic
    May 29, 2018
    25
    需要 attach 和看 core 的情况只能用 gdb 啊
    kylix
    kylix
    May 29, 2018
    26
    有啊,不过很少用,主要还是通过 ide 调用,
    lujiajing1126
    lujiajing1126
    May 29, 2018
    27
    服务器上调 C / Fortran 程序当然都是 GDB 啊= =
    pkookp8
    pkookp8
    May 29, 2018 via Android
    28
    有 gdb 就不错了
    你能想象 64M 内存 8M flash,gdb 都不能跑,flash 又放不下一个 coredump 的设备吗,一跑就 oom
    只能 printf
    但是编译器神级优化加一个 printf 问题就不出现了
    只能看堆桟,反汇编看出错原因😫
    USNaWen
    USNaWen
    May 29, 2018
    29
    头条。
    shijingshijing
    shijingshijing
    OP
    May 29, 2018 via iPhone
    30
    @lujiajing1126 这年头这个论坛上还能看到用 Fortran 的人也是不容易,Ada 了解一下。
    tempdban
    tempdban
    May 29, 2018 via Android
    31
    @pkookp8 我去…我也是这种情况,唯一区别我是加的 printk
    hncqp
    hncqp
    May 29, 2018 via iPhone
    32
    不用 gdb 还有啥能用的
    shijingshijing
    shijingshijing
    OP
    May 29, 2018 via iPhone
    33
    @hncqp 不是不用。。。 是想问问都是怎么用的,是敲命令用的多还是在 IDE 里面点点点然后让 IDE 帮你弄这样用的多。我的提问标题写的不准确。。。
    lzhCoooder
    lzhCoooder
    May 29, 2018
    34
    还行吧 ide 打断点和 gdb 也没啥区别啊,感觉没麻烦太多
    RqPS6rhmP3Nyn3Tm
    RqPS6rhmP3Nyn3Tm
    May 29, 2018 via iPhone
    35
    我宁可用 print debug 也不用 gdb
    hncqp
    hncqp
    May 29, 2018 via iPhone
    36
    @shijingshijing 线上 core 了的情况基本只能手动敲,没有 ide,其他情况就 printf 吧
    markx
    markx
    May 29, 2018
    37
    好问题! 我也想知道现在人是怎么用的,难道真的手动插断点?!
    scipio
    scipio
    May 29, 2018
    38
    基本每天都在用
    lujiajing1126
    lujiajing1126
    May 29, 2018
    39
    @shijingshijing 某物理模型的数值计算的一个程序

    业界大家都是用 FORTRAN 的,其他物理学家给的子程序都是 Fortran
    Mirana
    Mirana
    May 29, 2018
    40
    c/c++不用 gdb 用啥
    miketeam
    miketeam
    May 29, 2018 via iPhone
    41
    所以 iOS 开发的不学 c 语言真是浪费,Xcode 这么牛逼的调试工具
    shijingshijing
    shijingshijing
    OP
    May 29, 2018 via iPhone
    42
    @miketeam vs 的 debug 才叫 nb 呢,特别是调试树、链表这种稍微复杂点的数据结构。vs 现在还能直接调下位机了呢。
    xuchendev
    xuchendev
    May 29, 2018
    43
    很多,比如我们做图像处理这边,海思平台全是 c,服务器端的 caffe,darknet 也用 gdb 调试啊,很方便。。
    bluefalconjun
    bluefalconjun
    May 29, 2018
    44
    嵌入式开发 printf/k gdb 太奢侈了... 只能关键时候用. :(
    miketeam
    miketeam
    May 29, 2018 via iPhone
    45
    vs 能调试 iOS ?
    nicevar
    nicevar
    May 29, 2018
    46
    @miketeam #45 可以的,三四年前就可以了
    shijingshijing
    shijingshijing
    OP
    May 29, 2018 via iPhone
    47
    @miketeam 看来你还没感受到宇宙第一 IDE 的强大。。。

    vs 还能用来做 iOS 开发呢,不是 xamarin,用原生的 c++写 app,还能跨平台做到 iOS 和 Andrpid 兼顾呢。
    Applenice
    Applenice
    May 29, 2018
    48
    拿来看 core.....十分爽
    karllynn
    karllynn
    May 29, 2018
    49
    @mengzhuo 不用 dlv 么
    mengzhuo
    mengzhuo
    May 29, 2018
    50
    @karllynn 因为不支持 arm64
    dbow
    dbow
    May 29, 2018
    51
    天天用
    chenxytw
    chenxytw
    May 29, 2018
    52
    线上环境看 php-fpm 的 coredump 都是 gdb .....
    miketeam
    miketeam
    May 29, 2018 via iPhone
    53
    说的原生 cpp 写 iOS,你能打包吗?能调试 UI 吗?能检查内存泄漏吗?能管理证书吗?编译速度有 Xcode 快?原生 cpp 写意思说你所以控件都手撸,先不说项目赶不赶,这个项目 iOS 以后就你一个人维护?
    miketeam
    miketeam
    May 29, 2018 via iPhone
    54
    如果都能明天我还 windows
    bilberry
    bilberry
    May 29, 2018
    55
    LLDB
    spensersheng
    spensersheng
    May 30, 2018
    56
    做嵌入式的应该都会用吧,尤其是内存很小的一些特种设备
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1359 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 94ms · UTC 00:10 · PVG 08:10 · LAX 16:10 · JFK 19:10
    ♥ Do have faith in what you're doing.