Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.04.19;
Скачать: [xml.tar.bz2];

Вниз

процесс отладки   Найти похожие ветки 

 
Unknown user ©   (2009-02-18 22:35) [0]

Расскажите, пожалуйста, как работают отладчики. Я знаю, что процесс создается с атрибутами безопасности, позволяющими отладку и отладчик присоединяется к процессу. Вот в принципе и все, что я знаю. Никогда не вникал в подробности, не было необходимости. Сейчас заинтересовался. Как отладчик останавливает процесс в точке останова, как получает значения переменных, как вообще он связывает исходные тексты с бинарным файлом?


 
clickmaker ©   (2009-02-18 22:44) [1]

все дело в волшебном прерывании Int 3 и коде 0xCC, который собственно и представляет точку останова в терминах ассемблера.


> как вообще он связывает исходные тексты с бинарным файлом?

в отладочную версию экзе включается отладочная информация


 
Сергей М. ©   (2009-02-18 22:47) [2]


> Unknown user ©   (18.02.09 22:35)
> как работают отладчики


Все на свете  или конкретно дельфийский ?


 
Unknown user ©   (2009-02-19 00:55) [3]

>Все на свете  или конкретно дельфийский ?

желательно про дельфийский


 
Unknown user ©   (2009-02-19 00:58) [4]

>в отладочную версию экзе включается отладочная информация

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


 
Сергей М. ©   (2009-02-19 08:39) [5]


> про дельфийский


Дельфийский для перехвата управления в точке останова осуществляет сплайсинг - подмену первого байта первой инструкции оператора на байт со значением КОП стандартной отладочной ловушки Int 3 ($CC).


 
Сергей М. ©   (2009-02-19 08:51) [6]


> Unknown user ©   (18.02.09 22:35)  

http://www.kv.by/index2008061108.htm
http://www.xakep.ru/magazine/xA/083/112/1.asp


 
Unknown user ©   (2009-02-19 21:20) [7]

спасибо, очень полезные ссылки, все просто расписано


 
Unknown user ©   (2009-02-20 01:29) [8]

Однако остался еще один интересующий вопрос на который я не нашел ответа. Делфийский компилятор dcc32 можно без проблем использовать без IDE, можно ли без IDE в своей программе использовать делфийский отладчик, имея исходные тексты на Делфи. Требуется пошаговая отладка с возможностью просмотра значений переменных.


 
Petr V. Abramov ©   (2009-02-20 01:36) [9]


> clickmaker ©   (18.02.09 22:44) [1]


> все дело в волшебном прерывании Int 3 и коде 0xCC, который
> собственно и представляет точку останова

ты уверен, что именно так, а не на регистрах DR0..DR3 x386+ ? :)
я не ругаюсь, просто спрашиваю :)


 
Pavia ©   (2009-02-20 02:51) [10]


> ты уверен, что именно так, а не на регистрах DR0..DR3 x386+
> ? :)

Регистров только 4, а точек останова сколько хочешь. Так что 0cch.


 
Сергей М. ©   (2009-02-20 09:18) [11]


> Unknown user ©   (20.02.09 01:29) [8]


Теоретически можно - ядро дельфийского отладчика, например, в D7 являет собой обычный COM-сервер автоматизации, представленный именем "Borland.Dbk".


 
Unknown user ©   (2009-02-20 22:56) [12]

А если писать самому отладчик пользовательского уровня для Делфи приложений, вы можете описать основные части такой программы? Есть примеры подобных решений?



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2009.04.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.046 c
2-1235981744
Dm
2009-03-02 11:15
2009.04.19
TaskBar закрывает мое окно)))


2-1235724440
D@nger
2009-02-27 11:47
2009.04.19
Почему отсекается первый символ?


15-1234818834
AlexDan
2009-02-17 00:13
2009.04.19
Уравнения затухающих волн..


15-1234696527
Юрий
2009-02-15 14:15
2009.04.19
Портрет пользователей delphimaster.ru


2-1235763470
VoznikVopros
2009-02-27 22:37
2009.04.19
Как эффективно работать с TCategoryPanel (Delphi 2009)?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский