Есть внешняя длл — httpmodule. исходников нет.
длл выкидывает ошибку в момент инициализации на событии init.
как поставить брейкпойнт внутри длл без наличия исходников?
Здравствуйте, Аноним, Вы писали:
А>Есть внешняя длл — httpmodule. исходников нет. А>длл выкидывает ошибку в момент инициализации на событии init. А>как поставить брейкпойнт внутри длл без наличия исходников?
А без исходников хочется ассемблерный код посмотреть?
Re[2]: Как попасть внутрь длл без исходного кода
От:
Аноним
Дата:
14.03.12 07:44
Оценка:
Здравствуйте, Camarada, Вы писали:
C>Здравствуйте, Аноним, Вы писали:
А>>Есть внешняя длл — httpmodule. исходников нет. А>>длл выкидывает ошибку в момент инициализации на событии init. А>>как поставить брейкпойнт внутри длл без наличия исходников?
C>А без исходников хочется ассемблерный код посмотреть?
нет. в том то и дело хочется .net.
есть класс который реализует IHttpModule и я знаю что на событии Init он выдает ошибку.
надо поставить там брейкпойнт
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Camarada, Вы писали:
C>>Здравствуйте, Аноним, Вы писали:
А>>>Есть внешняя длл — httpmodule. исходников нет. А>>>длл выкидывает ошибку в момент инициализации на событии init. А>>>как поставить брейкпойнт внутри длл без наличия исходников?
C>>А без исходников хочется ассемблерный код посмотреть?
А>нет. в том то и дело хочется .net. А>есть класс который реализует IHttpModule и я знаю что на событии Init он выдает ошибку. А>надо поставить там брейкпойнт
Хочется .net исходников нет. Вы имеете ввиду Common Intermediate Language?
В чем брейкпоинт то ставить? Брейкпоинт на то и брейкпоинт, что его в исходниках ставят
Re[4]: Как попасть внутрь длл без исходного кода
От:
Аноним
Дата:
14.03.12 08:27
Оценка:
Здравствуйте, Camarada, Вы писали:
C>Здравствуйте, Аноним, Вы писали:
А>>Здравствуйте, Camarada, Вы писали:
C>>>Здравствуйте, Аноним, Вы писали:
А>>>>Есть внешняя длл — httpmodule. исходников нет. А>>>>длл выкидывает ошибку в момент инициализации на событии init. А>>>>как поставить брейкпойнт внутри длл без наличия исходников?
C>>>А без исходников хочется ассемблерный код посмотреть?
А>>нет. в том то и дело хочется .net. А>>есть класс который реализует IHttpModule и я знаю что на событии Init он выдает ошибку. А>>надо поставить там брейкпойнт C>Хочется .net исходников нет. Вы имеете ввиду Common Intermediate Language? C>В чем брейкпоинт то ставить? Брейкпоинт на то и брейкпоинт, что его в исходниках ставят
да не обязательно брейкпойнт. можно просто внутрь длл когда вызывается метод init
Здравствуйте, Аноним, Вы писали:
А>да не обязательно брейкпойнт. можно просто внутрь длл когда вызывается метод init
Также как попасть в дом без окон и дверей.
То есть его можно разобрать по кирпичам и смотреть ассемблерный код, а можно просто не пытаться зайти в этот дом.
Как еще то объяснить, либо вы вопрос сформулируйте либо объясните, что в вашем понимании попасть в дом, без окон и дверей.
Здравствуйте, Аноним, Вы писали:
А>Есть внешняя длл — httpmodule. исходников нет. А>длл выкидывает ошибку в момент инициализации на событии init. А>как поставить брейкпойнт внутри длл без наличия исходников?
Придется сильно попариться с чем-нибудь типа рефлектора ( http://www.reflector.net/ ) Но теоретически можно. Дизэссемблировать, сгенерить pdb, попробовать приаттачиться, или вообще пересобрать, или вроде последние версии рефлектора позволяли прямо так брейкпоинт ставить(сам не делал, но слышал).
Здравствуйте, Аноним, Вы писали:
А>Есть внешняя длл — httpmodule. исходников нет. А>длл выкидывает ошибку в момент инициализации на событии init. А>как поставить брейкпойнт внутри длл без наличия исходников?
А если вернуться к изначальному вопросу, то расскажите, что за DLL,
native или .NET, если нативная, то возможно у вас ошибка в объявлении Interop
Опишите ошибку в общем, а потом уже поймем, надо вам внутрь длл или не надо.
Re[2]: Как попасть внутрь длл без исходного кода
От:
Аноним
Дата:
14.03.12 09:24
Оценка:
Здравствуйте, Camarada, Вы писали:
C>Здравствуйте, Аноним, Вы писали:
А>>Есть внешняя длл — httpmodule. исходников нет. А>>длл выкидывает ошибку в момент инициализации на событии init. А>>как поставить брейкпойнт внутри длл без наличия исходников? C>А если вернуться к изначальному вопросу, то расскажите, что за DLL, C>native или .NET, если нативная, то возможно у вас ошибка в объявлении Interop C>Опишите ошибку в общем, а потом уже поймем, надо вам внутрь длл или не надо.
asp.net приложение у себя в веб конфиге деклирурует httpmodule (.net)
этот модуль выкидывает ошибку (комментарю — всё ок).
надо понять что кидает в нем ошибку
Что бы прямо по MSIL отлаживать — такого не знаю. Вроде есть какой-то плагин для рефлектора, но не пробовал никогда.
Если dll — это .net сборка, то мы делали так
1) Снимаем флажки Enable Just My Code (В 2008 студии это тут: Tools->Options->Debugging->General).
2) Ставим брекпоинт (Debug->New Breakpoint-> Break At Function) по полному имени функции(например: System.Windows.Forms.Control.SuspendLayout)
Потом уже по ассемблерному коду отлаживаемся, поглядывая одним глазом в рефлектор (или что-то подобное, что может код на C# показать).Там достаточно понятно все — смотришь сначала на код в рефлекторе, потом на ассемблерный, обычно понятно что чему соответствует. Если действительно надо, разобраться можно.
Зачастую отладчик даже может показать значения аргументов по их именам.
Здравствуйте, <Аноним>, Вы писали:
А>Есть внешняя длл — httpmodule. исходников нет. А>длл выкидывает ошибку в момент инициализации на событии init. А>как поставить брейкпойнт внутри длл без наличия исходников?
Здравствуйте, Nuseraro, Вы писали:
N>Здравствуйте, Аноним, Вы писали:
А>>Есть внешняя длл — httpmodule. исходников нет. А>>длл выкидывает ошибку в момент инициализации на событии init. А>>как поставить брейкпойнт внутри длл без наличия исходников?
N>Придется сильно попариться с чем-нибудь типа рефлектора ( http://www.reflector.net/ ) Но теоретически можно. Дизэссемблировать, сгенерить pdb, попробовать приаттачиться, или вообще пересобрать, или вроде последние версии рефлектора позволяли прямо так брейкпоинт ставить(сам не делал, но слышал).
Именно так и надо. Берешь Reflector, экспортируешь полученный после дизассемблирования проект, собираешь его в Debug, и отлаживаешь. Единственный известный мне нюанс — в некоторых случаях Reflector генерирует некомпилируемый код при экспорте Причем одна и та же версия Reflector может на одной машине сделать нормальный код, а на другой хреновый, недавно нарвались. Но в целом — так.
Здравствуйте, Степанов Андрей, Вы писали:
СА>Здравствуйте, Nuseraro, Вы писали:
N>>Здравствуйте, Аноним, Вы писали:
А>>>Есть внешняя длл — httpmodule. исходников нет. А>>>длл выкидывает ошибку в момент инициализации на событии init. А>>>как поставить брейкпойнт внутри длл без наличия исходников?
N>>Придется сильно попариться с чем-нибудь типа рефлектора ( http://www.reflector.net/ ) Но теоретически можно. Дизэссемблировать, сгенерить pdb, попробовать приаттачиться, или вообще пересобрать, или вроде последние версии рефлектора позволяли прямо так брейкпоинт ставить(сам не делал, но слышал).
СА>Именно так и надо. Берешь Reflector, экспортируешь полученный после дизассемблирования проект, собираешь его в Debug, и отлаживаешь. Единственный известный мне нюанс — в некоторых случаях Reflector генерирует некомпилируемый код при экспорте Причем одна и та же версия Reflector может на одной машине сделать нормальный код, а на другой хреновый, недавно нарвались. Но в целом — так.
Да что вы все бредите у рефлектора есть адын для студии который позволяет дебажить dll безо всяких танцев с бубном
N>Придется сильно попариться с чем-нибудь типа рефлектора ( http://www.reflector.net/ ) Но теоретически можно. Дизэссемблировать, сгенерить pdb, попробовать приаттачиться, или вообще пересобрать, или вроде последние версии рефлектора позволяли прямо так брейкпоинт ставить(сам не делал, но слышал).
последняя платная версия рефлектора 7.5 это все делает. Только что попробовала