Сейчас на форуме: Rio, vsv1, site-pro (+6 невидимых)

 eXeL@B —› Софт, инструменты —› Дебаггер для exe, написанного на .net C#
Посл.ответ Сообщение

Ранг: 12.4 (новичок)
Активность: 0.010
Статус: Участник

Создано: 10 декабря 2012 15:49
· Личное сообщение · #1

Нужен дебаггер для того, чтобы посмотреть что находится в стеке (или в переменной) после вызова одной функции. Перепробовал около 5ти разных, а именно:

ILSpy - откомпилил исходник, т.к. бинарник с офсайта не содержит дебаггера, пишут, что глючный, поэтому если хотите - компильте сами. В итоге пункт Дебаг в меню появился, но он недоступен. Как сделать доступным? Может кто знает

Плагин к Reflector'y - Deblector. Нашел в программе нужные места, поставил бряки, приаттачился к нужному процессу - но он не срабатывают.

DILE - вроде бы неплохой, даже бряки срабатывают, но не нашел где тут посмотреть что находится в стеке. По переменным на вкладке Local Variables Panel пишет "System.Runtime.InteropServices.COMException (...): An IL variable is not available at the current native IP". Как все-таки посмотреть значение?

MSVS 2010 - Использовался в качестве дебаггера в одной из статтей на exelab'e. Получил я декомпиленный IL-код, собрал его снова, получил также PDB-файл, ехе-шник запускается, но при вызове нужной мне функции вылетает с ошибкой. Возможно это из-за каких-то ошибок при декомпиляции или сборке. Что можно сделать, чтобы добиться работоспособности после компиляции IL-кода?

Не хочется распыляться, ведь вариантов много, а времени - не так много. Можно еще попробовать получить исходник на C#, исправить 500+, чтобы попытаться откомпилить его в MSVS, но хотелось бы узнать точно что лучше в данном случае. Программа не обфусцирована, имена все видны четко. Посоветуйте что делать?



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 10 декабря 2012 16:03
· Личное сообщение · #2

Я обычно в ольке дебажу, перед нужным местом добавляю мессадж и как только выскакивает этот мессадж пауза-альт ф9-ок в мессадже- 2-3раза контрол Ф9 и ты в нужном месте.



Ранг: 12.4 (новичок)
Активность: 0.010
Статус: Участник

Создано: 10 декабря 2012 16:09
· Личное сообщение · #3

А как в ольке можно .net дебажить? Она ж его не понимает.



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 10 декабря 2012 16:12
· Личное сообщение · #4

все она понимает, только код будет не красивый как в Reflector'е, а ассемблерный, но посмотреть стеки и все остальное хватит.



Ранг: 12.4 (новичок)
Активность: 0.010
Статус: Участник

Создано: 10 декабря 2012 16:16
· Личное сообщение · #5

Хорошо. Олька не раз выручала. А как мне найти то место, которое нужно, зная это место в IL-коде или зная имя функции декомпиленной? В ольке ведь ни строковых ресурсов не видно, ничего.



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 10 декабря 2012 16:28
· Личное сообщение · #6

Через Reflexive добавь мессадж в нужную процедуру от него и пляши.




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 10 декабря 2012 16:30
· Личное сообщение · #7

http://www.smidgeonsoft.prohosting.com/pebrowse-pro-interactive-debugger.html утверждает, что есть поддержка .нет, но сам не пробовал.



Ранг: 18.8 (новичок), 5thx
Активность: 0.010
Статус: Участник

Создано: 10 декабря 2012 17:40
· Личное сообщение · #8

ILSpy, сам собрал, работает без проблем. Использую именно для того что бы глянуть содержимое переменных. Единствено что нельзя скопировать в буфер содержимое строковых переменных.



Ранг: 12.4 (новичок)
Активность: 0.010
Статус: Участник

Создано: 10 декабря 2012 21:35
· Личное сообщение · #9

sierra, можешь скинуть твою откомпиленную версию? Я откомпилил, но меню дебаг недоступно. Или как его сделать доступным?

Archer, пробовал. Не очень подошел - глючноватый. Ошибки сыпет типа Out of memory. Не нашел где тут il-код посмотреть или любой другой.

Vovan666, пробовал, но существенное изменение ехе-файла (больше чем изменение условного перехода) приводит к тому, что ехе-шник не запускается. Почему? Защита какая-то?



Ранг: 18.8 (новичок), 5thx
Активность: 0.010
Статус: Участник

Создано: 11 декабря 2012 23:07
· Личное сообщение · #10

V01and скинул.




Ранг: 88.2 (постоянный), 111thx
Активность: 0.070.01
Статус: Участник

Создано: 11 декабря 2012 23:10
· Личное сообщение · #11

Выложи для общественности



Ранг: 18.8 (новичок), 5thx
Активность: 0.010
Статус: Участник

Создано: 11 декабря 2012 23:41
· Личное сообщение · #12

Да без проблем - http://zalil.ru/34059864

| Сообщение посчитали полезным: V01and, nick8606

Ранг: 12.4 (новичок)
Активность: 0.010
Статус: Участник

Создано: 12 декабря 2012 01:47
· Личное сообщение · #13

sierra, премного благодарен, все работает.


 eXeL@B —› Софт, инструменты —› Дебаггер для exe, написанного на .net C#
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати