为专有语言创建调试IDE

时间:2009-10-27 15:07:18

标签: debugging ide

我正在使用一种名为WIL / Winbatch的非常隐蔽的专有语言,它有一个糟糕的IDE(winbatch studio)。

我想开发一个替代环境;但是,如果没有设置断点,步骤和检查变量的能力,那就没有意义了。如何开始研究如何为专有语言实现调试器?它甚至合法吗? 我想我有点心态,调试器部分必须能够检查WIL执行时提供给它的语句,对吧?所以我不得不陷阱解释器的输出?或者只是使用任何语言阅读内存中的位置? 提前谢谢。

2 个答案:

答案 0 :(得分:1)

为什么你与这种语言如此紧密地联系在一起?如果没有得到很好的支持,您可以使用许多其他功能。无论如何,要真正回答你的问题,难度取决于它是编译语言还是解释语言,以及你是否可以访问任何源代码(当然,你似乎没有)。也就是说,这将是一个非常具有挑战性的项目,因为您必须对已编译的代码进行逆向工程才能使其具有任何意义。花在学习另一种(更好的)语言上的时间会更好。

也许如果你能告诉我们为什么要使用这种语言,我们可以给你一些帮助吗?

答案 1 :(得分:1)

参与并成功完成任务后,请注意以下事项:

  1. 将其构建为您的团队已经熟悉并喜欢的IDE的插件/扩展。他们会感谢您提供与他们真正知道如何使用的界面一致的界面,此外,您可以完全专注于使您的语言与其他语言不同的功能。
  2. 您必须学习您的语言的调试协议。在我们的例子中,我们获得了解释语言的运行时的源访问权限。在其他情况下,您可以找到GDB本地或远程调试接口的文档,可以链接到该语言的调试协议的库,或者甚至可以找出调用堆栈的外观,并包装Windows调试API以在其后面进行分析。场景。
  3. 不要超过语言提供的内容。添加调试功能需要花费很多时间,而且当更新目标语言的版本时,他们有一个相当烦人的习惯,需要进行重大修改或完全重写。