InvalidProgramException: определить неисправную инструкцию

Я генерирую сборки динамически и вызываю методы из этих сборок. Я использую как визуальную студию, так и моно. Иногда я делаю что-то не так с ILGenerator.Emit и получаю InvalidProgramException при попытке вызвать метод.

Есть ли способ получить ошибочную инструкцию?

Пока что мне нужно разобрать сборку с помощью ILSpy и вручную пройти через IL, что нормально, когда сгенерированный метод прост.

К сожалению, иногда сгенерированный метод содержит сотни инструкций MSIL, и выявить ошибку становится все труднее.

Интересно, есть ли что-нибудь встроенное, чтобы помочь мне.

К сожалению, peverify не очень помогает, поскольку я генерирую небезопасный код (с указателями). Поэтому я получаю такие ошибки:

Неуправляемые указатели не поддаются проверке

Кроме того, некоторые из этих ошибок происходят только с моно, а не с визуальной студией.

Спасибо

0 ответов

Другие вопросы по тегам