Инструмент .net iLdasm.exe, кажется, не выпускает все строки источников в выходной файл

StackOverflow https://stackoverflow.com/questions/4475159

  •  11-10-2019
  •  | 
  •  

Вопрос

Я создаю утилиту, которая читает исходные строки исполнителей VB .NET .NET, которую написала моя компания. Он использует утилиту ILDASM.EXE следующим образом:

ildasm.exe /nobar /unicode /source "assblytoread.exe" /out="App_dircodeoutputcodeoutput.txt "

Это приводит к тому, что некоторая исходная строка была сброшена в файл codeOutput.txt. Тем не менее, кажется, что их исходная линия отсутствует в начале всех исходных файлов. Нередко исходный файл пропустил первые 10 - 20 строк кода. Большинство других строк, кажется, преданно созданы. У кого -нибудь есть представление о том, что я делаю не так? Спасибо

Это было полезно?

Решение

В исполняемом файле нет исходных линий, поэтому дизассемблер не может считывать из него исходные строки. То, что он делает, - это создание кода, который будет компилировать в одном и том же исполняемом файле.

Любые исходные строки, которые не производят исполняемый код, не будут воссозданы. Кроме того, какой -то код оптимизируется, поэтому, если строка не делает ничего полезной, она может быть удалена в компиляции.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top