我可以为C#创建自己的JIT\Interpreter\Compiler并在Visual Studio中使用它吗?

Lyi*_*Sky 5 c# c++ compiler-construction visual-studio visual-studio-debugging

我目前正在编写一个从C#生成类似JIT的EXE(重写自身)的编译器,无论如何都要使Visual Studio和它的调试器识别我想要构建它的方式(使用我的编译器)并调试输出?

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

我很清楚让它兼容并不神奇; 无论有什么可能,我都会在这里得到一个直接的答案并提示开始; 例如,编写带有这些函数和参数的C++ DLL,并给出Visual Studio调试器参数的DLL路径,或者只是指向我在MSDN上的引用.(我从谷歌那里获得了零结果)

J..*_*... 7

看来你想做的事情是可能的.MSDN的相关部分将是:

Visual Studio集成开发环境(IDE)为标准组件(如编译器,编辑器和调试器)提供用户界面(UI).Visual Studio附带的Visual C++和Visual Basic等功能本身就是IDE的扩展.Visual Studio SDK提供了工具,示例,向导,设计器和文档,可帮助您开发自己的应用程序,从而扩展IDE并与IDE无缝集成.

特别注意:

Visual Studio包含一个完全交互式的源代码调试器,提供了一个功能强大且易于使用的工具,用于跟踪程序中的错误.调试器完全支持Visual Basic,C#,C/C++和JavaScript.但是,使用可从Microsoft下载中心获得的Visual Studio SDK,调试器中可以支持具有相同丰富功能的其他编程语言.

另请注意该Language Services部分 - 这描述了为visual studio添加对新语言的支持的方法.特别是,您还可以为该语言添加调试支持.

请参阅:语言服务支持调试

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

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

您可能希望下载Visual Studio SDK.