gpt4 book ai didi

debugging - 调试器创建教程

转载 作者:行者123 更新时间:2023-12-02 22:44:08 24 4
gpt4 key购买 nike

在哪里可以找到有关调试器设计和开发的优秀教程?我进行了搜索,但只找到了一些关于该主题的一般文章。我需要了解更多细节:它如何附加到应用程序,它如何以及在内存中的何处设置断点,它如何读取堆栈跟踪?另外,我对调试器的总体设计很感兴趣。

最佳答案

编写调试器并不是一件简单的任务,它需要对您正在使用的底层平台和您正在编写调试器的语言有深入的了解。

我过去遇到的一些文章对这个主题特别有帮助:

  • Eli Bendersky 的“How debuggers work”。我发现这非常有帮助,因为它的彻底性。他涵盖了调试器的功能、工作原理以及幕后如何实现这一目标的所有重要部分。他甚至介绍了很多关于使用 dwarf 调试格式来帮助注释调试 session 的内容,由于缺乏可访问的文档,这个主题很难获得。尽管他在类似 *nix 的平台中介绍了这一点,但他描述的许多概念仍然同样适用于 Windows。
  • DebugInfo.com DEBUGGING API EXAMPLES 。如果您打算在 win32 平台上工作,那么您会发现这里的示例很有用。此示例展示了如何使用 win32 调试 api 创建一个可以像调试器一样“运行”的进程。它包含有关如何启动调试程序或附加到正在运行的进程以及处理从调试 API 生成的调试事件的示例。
  • MobDebug 。这是一个用纯 lua 实现的远程 lua 调试器,大约 1.4kloc。这个补充是 deivid 在 ruby​​ 调试器上的答案。很多时候,查看调试器的实际实现是有帮助的,即使它不是针对低级语言的。这可能是一个更容易开始全面了解调试器必须做什么的地方,而不必陷入必须用“裸机”语言处理的所有较低级别的细节。
  • pydbg 。使用下面的调试 API 用 python 编写的 Windows 调试器。
  • jewdbg 。另一个用 python 编写的 Windows 调试器。比 pydbg 小一点,功能不全面,但如果您正在寻找可供学习的示例实现,那就太棒了。
  • MSDN Debugging API 。 Windows 提供的基本调试原语和构建 block 的主要引用和文档。如果开发您自己的 Windows 调试器,您将需要此处提供的许多内容。

关于debugging - 调试器创建教程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18464209/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com