我可以为c#制作自己的JIT解释器编译器并在Visual Studio中使用它吗?

Can I make my own JITInterpreterCompiler for C# and use it in Visual Studio?

本文关键字:Studio Visual 自己的 编译器 解释器 JIT 我可以      更新时间:2023-10-16

我目前正在编写一个编译器,从c#(重写自己)产生类似jit的EXE,无论如何使Visual Studio和它的调试器识别我想要构建它的方式(与我的编译器)和调试输出?

我的编译器的输出是EXE,但它不包含MSIL,它包含我的中间语言,其余的内容是用c++编写的JIT。(c++读取自己的EXE并执行)

我很清楚让它兼容并不是魔法;我来这里是为了得到一个直接的答案,无论可能是什么,以及开始的提示;例如,编写一个带有这些函数和参数的c++ DLL,并将DLL路径提供给Visual Studio的调试器参数,或者只是在MSDN上指出我的参考。(我没有得到任何有希望的结果从谷歌)

看来你想做的是可能的。MSDN的相关部分为:

  • 扩展Visual Studio

Visual Studio集成开发环境(IDE)提供标准组件(如编译器)的用户界面;编辑器和调试器。像Visual c++和Visual Basic这样的特性Visual Studio中包含的插件本身就是IDE的扩展。Visual Studio SDK提供了工具、示例、向导、设计器和插件帮助您开发自己的扩展应用程序的文档

特别注意:

  • Visual Studio Debugger Extensibility

Visual Studio包含一个完全交互式的源代码调试器,提供一个功能强大且易于使用的工具来跟踪您的程序。调试器完全支持Visual Basic, c#,C/c++和JavaScript。然而,使用Visual Studio SDK,情况就是这样可从微软下载中心下载,其他编程可以在调试器中支持与语言相同的丰富特性。

还要注意Language Services部分——它描述了在visual studio中添加对新语言的支持的方法。特别是,您还可以为该语言添加调试支持。

参见:Language Service Support For Debugging

编译器的类型决定了你需要做什么来实现调试您的语言。如果你的编译器的目标是Windows操作系统并写入.pdb文件,可以用它调试程序集成到Visual中的本机代码调试引擎工作室。如果您的编译器生成Microsoft中间语言(MSIL),您可以使用托管代码调试引擎调试程序,它也集成到Visual Studio中。如果编译器的目标是一个专有的操作系统或一个不同的运行时环境,你需要编写自己的调试引擎

强调我的意思-即:你可以调试任何你想要的东西,但是你需要自己编写调试器。

你可能需要下载Visual Studio SDK