调试的艺术
本指南将教你如何:
- 快速调试常见问题
- 使复杂问题变得可调试
注脚:改编自Perl的口号:"简单的事情应该简单,困难的事情应该可行"。
这是一个正在进行中的方法论和复制粘贴配方集合,用于成功调试简单和复杂的软件问题。有些部分已相当完整,而其他部分将在以后完成,还有一些尚未开始。
简介
我从1995年开始开发软件,这项工作中有很大一部分涉及调试。多年来,我开发了各种高效的方法来发现问题的根源,这是解决问题最困难的阶段。因为一旦问题被理解,通常解决方案相对容易。
经常有人在与我一起调试问题时建议我与世界分享我的方法。我一直说这太难概括了,但最近这个种子似乎已经发芽,所以在接下来的文档中,我将尝试分享一些见解,以缓解这个有时非常困难的过程。
凭空写调试相关的内容非常困难,而且由于我没有保存用例,所以需要一些时间来建立这些内容,因此预计这些页面在很长一段时间内都将是进行中的工作(WIP)。但希望一些想法能尽快传达给你,它们将有助于减轻你在工作和个人项目中的调试负担。
目录
-
调试编译程序 -
gdb
、ldd
、nm
、LD_LIBRARY_PATH
、LD_PRELOAD
-
调试Python -
py-spy
、路径、自动打印 -
用于调试的Unix工具 -
bash
、strace
、make
、提示符、nohup
-
调试机器学习项目 (外部链接)
贡献
如果你发现了错误、拼写错误或想提出改进建议,请不要犹豫,打开一个Issue或贡献一个PR。
许可证
本网站的内容根据署名-相同方式共享 4.0 国际分发。
我的仓库地图
✔ 指南: 调试的艺术
✔ 应用: ipyexperiments
✔ 工具和速查表: bash | conda | git | jupyter-notebook | make | python | tensorboard | unix