5

Obecnie piszę kompilator, który produkuje podobny do JIT plik EXE z C# (sam przepisuje), czy mimo to program Visual Studio i jego debugger rozpoznają sposób, w jaki chcę go skompilować (z moim kompilatorem) i debugować dane wyjściowe?Czy mogę utworzyć własny JIT Interpreter Compiler dla języka C# i używać go w Visual Studio?

Dane wyjściowe mojego kompilatora to EXE, ale nie zawiera on MSIL, zawiera mój język pośredni, a pozostałą częścią jest JIT napisany w C++. (C++ czyta się sam \ EXE i wykonuje)

Doskonale zdaję sobie sprawę, że to nie magia sprawia, że ​​jest kompatybilny; Jestem tutaj, aby uzyskać prostą odpowiedź, cokolwiek to jest możliwe i wskazówki do rozpoczęcia; na przykład napisz C++ DLL z takimi funkcjami i parametrami i podaj ścieżkę DLL do parametrów debuggera Visual Studio, lub po prostu wskaż mnie, aby odwołać się do MSDN. (Otrzymałem zero obiecujących wyników od Google)

Odpowiedz

7

Wygląda na to, że to, co chcesz zrobić, jest możliwe. Odpowiednie odcinki MSDN byłoby:

Zintegrowany Studio środowisko programowania wizualnego (IDE) zapewnia interfejs użytkownika (UI) do standardowych komponentów, takich jak kompilatory, redaktorami i debuggery. Funkcje takie jak Visual C++ i Visual Basic, które są dołączone do Visual Studio, same są rozszerzeniami IDE. Zestaw Visual Studio SDK udostępnia narzędzia, próbki, kreatory, projektantów i dokumentację, która pomaga rozwijać własne aplikacje rozszerzające zakres IDE i bezproblemowo integruje się z nim.

Należy zwrócić szczególną uwagę na:

Visual Studio zawiera w pełni interaktywny kodu źródłowego debuggera, zapewniający potężny i łatwy w użyciu narzędzie do śledzenia błędy w twojego programu. Debugger ma pełną obsługę Visual Basic, C#, C/C++ i JavaScript. Jednak w pakiecie Visual Studio SDK, czyli dostępnym z Centrum pobierania Microsoft, inne języki programowania mogą być obsługiwane w debugerze z tymi samymi bogatymi funkcjami .

Należy również zapoznać się z sekcją Language Services - opisuje to, jak dodać obsługę nowego języka do wizualnego studia. W szczególności możesz dodać obsługę debugowania dla tego języka.

patrz: Language Service Support For Debugging

Rodzaj kompilatora określa, co trzeba zrobić, aby wdrożyć debugowanie dla języka. Jeśli kompilator jest kierowany na system operacyjny Windows i zapisuje plik .pdb, można debugować programy za pomocą mechanizmu debugowania kodu rodzimego kodu zintegrowanego ze studiem Visual Studio.Jeśli Twój kompilator tworzy język pośredni Microsoft (MSIL), możesz debugować programy za pomocą zarządzanego mechanizmu debugowania kodu, , który jest również zintegrowany z Visual Studio. Jeśli kompilator jest kierowany na zastrzeżony system operacyjny lub inne środowisko wykonawcze, musisz napisać własny mechanizm debugowania.

Podkreślenie moje - to znaczy: ty może debug cokolwiek chcesz, ale trzeba będzie pisać debugera siebie.

Prawdopodobnie będziesz chciał pobrać Visual Studio SDK.

Powiązane problemy