我们非常重视开发工具:我们参与了有关编辑器(Vim或Emacs?)的激烈辩论,我们花了大量时间根据自己的喜好自定义IDE,并仔细选择每天变得越来越完善和便捷的编程语言和库。但是,这里可以区分一个类别,由于某种原因,它仍然应该被遗忘:调试器在过去十年中并没有发生太大变化,尽管它们仍然是捕获错误和导航代码的基本工具之一。
图片:蒂莫西戴克斯@timothycdykes,unsplash.com
通常,我们更喜欢快速添加几个print
s,而不是在合适的位置放置一个断点,然后使用调试器遍历该断点以及问题“为什么?” 不会停止逗我-毕竟,log和print
s提供的信息有限,并且不允许与正在运行的进程进行交互式交互(并且调试器甚至可以与“死”进程配合使用!)。
我看到的主要原因之一是调试器的开发缺乏重大进展。
GDB , . , 4K, - , . , IDE VS Code ( , JavaScript), - - .
: Rust "" — , , . " ", , . , , — , .
. GDB LLDB, : (Go Rust) , C C++. — , — , . — Go Java LLDB.
, ? , Rust! , . Delve , ( — Go) , x86-64 Windows/Linux/macOS.
, , , . : - , ( - ). REPL Jupyter ( , , ).
, , , , , .
, Headcrab, . : , , . , — - .
如果您有兴趣参与开发,即使系统编程对您来说仍然是新手,我们也很乐意为您提供支持。如果您分享调试经验,也可以提供帮助:遇到了哪些问题,使用了哪些工具以及希望在新的调试器中看到什么?
感谢您阅读本文。