Arch Linux 下使用 pwndbg
文章目录
【注】本文最后更新于 January 5, 2019,文中内容可能已经过时。
pwndbg 的安装: pacman -S pwndbg
然后添加 source /usr/share/pwndbg/gdbinit.py
到 ~/.gdbinit
然而要在 Arch Linux 下愉快地使用 pwndbg, 还要解决以下问题:
- Arch Support - Roadmap 搁了快一年的问题, 主要是 Arch 下没有 libc6-dbg 这种包, 要调试符号只能自己编译…
Python exception under gdb-8.2-2 上游 gdb 的问题, 8.3 应该会修复, 不过可以按链接所示的方法临时 patch 一下gdb 8.2.1 已 fix
这里解决第一个问题, 利用棒棒的 ABS (Arch Build System)
|
|
缺点是每次升级 glibc 的时候要自己重新编译一遍……
(听说 Debug Symbols 的支持已经在进行中了?)
后记
今天学长按照这个试了一下, 编译了一个下午都没编译完(然后怒转 mint ). 然后我才想起来第一次我也遇到了这个问题: 其实编译早就完成了, 只是一直在跑测试……(大概是因为 glibc 非常重要, 所以测试很多….) (不过测试虽然慢但我当时似乎也跑完了) (可能是因为我改了 BUILDDIR
?)
要取消测试可以简单地给 makepkg
添加 --nocheck
参数
或者一劳永逸(暴力)的办法: 在 /etc/makepkg.conf
中将 BUILDENV
中的 check
改为 !check
(因为我被坑了一次后就加上了, 然后就忘了这个坑…)
P.S. 顺便也可以根据这篇文章 Makepkg_(简体中文)#编译结果优化 优化一下其他参数, 主要是 BUILDDIR
,CFLAGS
, CXXFLAGS
和 MAKEFLAGS