程序员的自我修养:如何用好 GDB - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
swananan
/div>

程序员的自我修养:如何用好 GDB

  •  2
     
  •   swananan
    swananan 1 月 26 日 3714 次点击
    这是一个创建于 85 天前的主题,其中的信息可能已经有所发展或是发生改变。
    https://jt26wzz.com/posts/0014-the-dwarf-behind-the-debugger/

    写了一篇新的技术博客,篇幅有点长,而且受限于个人水平,有些地方表达的不是很好,或者说有点详略不得当,不过还是把我目前对调试器的基本认知都写出来。

    这里特意发个帖子,想和对这块感兴趣的人一起讨论讨论,特别是我有哪里理解不到位或者错误的地方,欢迎直接指出,毕竟我写博客的目的也是为了交流和自我提升。虽然我也可以让 AI 来 review 我的博客内容,但是我还是更倾向于和大家交流。
    27 条回复    2026-01-27 17:30:44 +08:00
    sparkrat
        1
    sparkrat  
       1 月 26 日   1
    内容很详细,但 blog 的文字风格让人看着眼睛累(个人体验)
    sheldor
        2
    sheldor  
       1 月 26 日
    写的非常好,我一个外行都觉得写的很好,有水平
    w0017
        3
    w0017  
       1 月 26 日
    学过汇编和 exe 文件结构就容易理解一些,我印象里以前 vc 的 msdn 盘里就有一张是带符号信息的。
    timewarp
        4
    timewarp  
       1 月 26 日
    可以转载到公司内网吗,注明出处
    fabsnail
        5
    fabsnail  
       1 月 26 日
    这文字太瞎眼了
    swananan
        6
    swananan  
    OP
       1 月 26 日
    @sparkrat 是黄色高亮和加粗的式样吗?我看了看,这次确实有点式样太重了。

    我其实用的是极简的博客风格,黄色高亮代表着这篇博客的核心主线,毕竟一篇文章是需要有一个主脉络串起来的。我考虑把一些加粗给去掉试试。
    /div>
    swananan
        7
    swananan  
    OP
       1 月 26 日
    @timewarp 可以
    swananan
        8
    swananan  
    OP
       1 月 26 日
    @fabsnail 试试右上角切换到黑暗模式呢
    guanzhangzhang
        9
    guanzhangzhang  
       1 月 26 日
    这文字不方便阅读。。。
    YanSeven
        10
    YanSeven  
       1 月 26 日
    这个博客的风挺好的啊,极简风格,我比较喜欢这种风格。
    zephyru
        11
    zephyru  
       1 月 26 日
    虽然我没接触过这些,只能从逻辑上去理解,不过确实感觉写的不错
    ruanimal
        12
    ruanimal  
       1 月 26 日   1
    @swananan 行距太小了,而且一个段落内容太多
    ivvei
        13
    ivvei  
       1 月 26 日   2
    我表示差评。你压根没讲怎么用 GDB ,挂羊头卖狗肉了。你是因为自己实现过一个类似的 debugger ,所以全篇几乎都在讲 GDB 的一些功能是怎么实现的。这跟我一个用户有多大关系?知道些只言片语的实现原理,距离怎么用好工具,还差了十万八千里。
    connectsixboy
        14
    connectsixboy  
       1 月 26 日
    写得挺好啊
    swananan
        15
    swananan  
    OP
       1 月 26 日
    @ivvei 因为现在有 AI 使用 GDB 的门槛非常低了,另外 GDB 这么多年,总有一些奇技淫巧,如果是想看 GDB 实操,那么得从一个 bug 的调试实例来讲解,这不是我想聊的方向。

    博客里面描述的是 GDB 实现核心是 DWARF + 后端能力 ptrace ,以及一些核心实现细节。不过,我不觉得这个和普通用户不相干,理解这些,你才会清楚 GDB 的局限性在哪里,以及在日常解 bug 或者处理紧急问题的时候,你可能在受限的情况下,明确自己能获取到哪些信息,而这些对工程师解决问题的能力提升至关重要。

    某种程度上,你其实说的很对,光看完这篇博客,很难立刻就用好 GDB ,这个没办法,只有大量的实践,外加对编程语言以及底层的理解才能慢慢得心应手起来,我也在学习的路上。但我写这篇博客的原因,是想把我的一些理解以及一些好的资料给串起来,至少写完之后,我思路是清晰不少了,并且我觉得理解了这些,就算是比较擅长使用 GDB 了(手动狗头)。
    eclipselu
        16
    eclipselu  
       1 月 27 日
    谢谢,写得很好!
    liuidetmks
        17
    liuidetmks  
       1 月 27 日
    黄色高亮改下把,改成紫色或者没那么刺眼的
    archxm
        18
    archxm  
       1 月 27 日 via Android
    @swananan gdb 有啥门槛的,有门槛的是汇编,gdb 可以查寄存器的,高端用法,看 ai 能不能出教程
    gdb
        19
    gdb  
       1 月 27 日
    篇幅有点长,我只是走马观花看了一遍。我感觉你这个文章行文口语化太重(看口语化的内容,让我感觉像看小说,印象不是太好,显得有点嗦,难切中要害),我的建议是可以再精炼一些文字内容,留一些技术内容即可。个人建议,仅仅供参考。
    MEIerer
        20
    MEIerer  
       1 月 27 日
    排版看着有点类,勤换行啊
    kapaseker
        21
    kapaseker  
       1 月 27 日
    @sparkrat 字体问题,同时间距太小了。我发现写博客还是用微软雅黑,字体稍大,然后每段行数减少比较合适
    swananan
        22
    swananan  
    OP
       1 月 27 日
    @gdb 确实口语化比较严重,而且病句或者不通顺的地方也蛮多的,我还在锻炼我的写作技巧(姑且算是写作吧)。我还在思考,怎么在保持一些个人风格的同时,另外还能命中要点,感觉只能反复揣摩修改了。
    swananan
        23
    swananan  
    OP
       1 月 27 日
    @kapaseker
    @MEIerer
    @liuidetmks
    @ruanimal
    我这周末有空的时候优化下排版,确实有待提升
    kapaseker
        24
    kapaseker  
       1 月 27 日
    @swananan 嘿嘿,没事儿,目前这个博客没有多余的动画我很喜欢,只是字体的排版和颜色太亮了。别的没啥问题,有一种古风博客的感觉,一般技术大牛才会用这种风格。
    freemoon
        25
    freemoon  
       1 月 27 日
    作为一篇好的技术 blog ,它应当拥有简单的 UI/排版风格、令人舒适的字体&字号、拥有摘要、可随时跳转的目录、小结/总结;并且较少的主观性的描述,添加更多实质性/有依据的描述,例如参考 URL/文献名称等,在文章结尾应该有参考资料索引;如果 blog 字数较多,还应该在篇首添加字数和大致阅读完所需时间,有进度条更佳。

    综上,楼主可以逐条给自己的 blog 打分并汇总(如果你对 Blog 写作有追求)。
    swananan
        26
    swananan  
    OP
       1 月 27 日
    @lasuar UI 等这些硬性的问题,短时间会比较容易改善。
    我博客里面确实存在比较多的主观性描述,因为多少有点自嗨,更像是在自留地和人吹水的产物。
    写作和教学都是程序员的核心技能,我会花时间慢慢改善的,非常感谢提醒。
    Orangeee
        27
    Orangeee  
       1 月 27 日
    除了配图外和上次的 blog 风格很像,我就说挺熟悉
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     965 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 63ms UTC 20:22 PVG 04:22 LAX 13:22 JFK 16:22
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86