Я хочу сделать свой собственный отладчик C # - как это сделать? Какие инструменты я должен использовать? - PullRequest
6 голосов
/ 21 ноября 2010

Я заинтересован в создании программы, которая будет принимать код на C # и позволит мне построчно выполнять этот код - отладчик.

Как бы я занялся этим проектом без написания всего компилятора c #?Я использую Microsoft Visual Studio, но я хочу, чтобы мое программное обеспечение было как можно более независимым от их реализации отладчика.

1 Ответ

5 голосов
/ 21 ноября 2010

Вы ищете ICorDebug , API управляемой отладки.
Вы можете использовать csc.exe для компиляции кода (это включено в стандартную установку .Net Framework и обернуто классом CSharpCodeProvider ), затем выполнить сборку, подключить отладчик и выполнить код.

Обратите внимание, что вам, вероятно, все еще понадобится C # парсер , чтобы выяснить, где вы находитесь в источнике.
Файл PDB будет содержать часть этой информации; Я не уверен, сколько.

Обратите внимание, что большинство функций в отладчике VS, которые мы считаем само собой разумеющимся (особенно окно просмотра и всплывающие подсказки), потребуют болезненной повторной реализации. ( Func-Eval с) * * 1016

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...