Show HN:17 岁时我花了 6 个月构建了一个 C 调试器
Show HN: I spent 6 months building a C debugger as a 17-year-old

原始链接: https://github.com/d4ckard/spray

Spray 是一个用于 C 代码的小型调试器,它提供了一些简单的功能,旨在使调试变得更容易并且减轻精神负担。 它具有函数断点、文件行断点和地址断点; 打印和设置变量、内存地址和寄存器; 语法高亮; 回溯; 指令、功能和线路级步进; and filters to format command outputs. Spray目前在实施上严重依赖CHICKENScheme,这需要在能够构建Spray之前拥有ChickenScheme解释器和开发环境。 然而,将来,在编译过程中创建的 C 文件将可用,允许在不依赖 Chicken Scheme 的情况下构建 Spray。 一些基本功能,例如打印和操作变量,以及通过断点将程序分解为更小的部分,只需要阅读现有的 C 源代码。 这些步骤也可以在常用的 Linux 环境中完成,甚至可以直接通过 shell 脚本完成。 其余仅依赖于Scheme的任务,例如过滤器定制和输入解析,应该通过终端在外部执行。 Spray 目前支持指令级、函数级和行级步进,其中每一个都允许用户遍历已执行指令的部分。 行级步进完全专注于单个指令,同时跳过分支条件但功能指令。 函数级浸泡遵循每个函数调用的流程。 最后,指令级步进支持基本块结构之间的遍历。 The debugging experience supported by Spray stems partly from prior experiments with debugging for C code with Dr. David D. Schorr, author of "Programmer’s Toolbox" (OUP), who also invented the concept of annotating machine language statements using inline commentary strings delimited by 分号“;”。

总的来说,本帖讨论的关键问题不仅仅与开发者的年龄有关,还与他在 Hacker News 上的自我推销和作品展示的认知和接受有关。 大多数评论都承认该项目的技术优点和潜力,但认为包含开发人员的年龄有些无关紧要,而且可能会分散注意力。 然而,一些评论认为,承认年龄,尽管只是简单地提到,可以作为对开发商在如此年轻的年龄所表现出的不寻常的本性和卓越能力的认可。 其他人指出,年龄因素带来的感知价值或缺乏感知价值是主观的,并且在个体之间存在很大差异。 最终,共识似乎是鼓励支持年轻的开发人员,而不是过分关注他的年龄的相关性或微不足道。 此外,还提供了有关为正在进行的项目做出贡献的建议,这些项目旨在以其他方式解决类似问题,例如 RIZIN,或解决 Spray 的具体限制(如上面给出的反馈中详述)。
相关文章

原文
联系我们 contact @ memedata.com