Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Использование Remote Debugging

Оформил: DeeCo

Автор: Андрей Бороздин

Довольно часто в КГ в рубрике "Программирование" можно встретить советы для начинающих программистов в среде Delphi. Однако порой газету читают и законченные программеры. Именно для них, а также для тех, кто уже имеет определенный опыт программирования, и предназначена эта статья. 

Не часто, но бывает так, что программа на твоем компьютере, где стоит среда разработки, запускается и работает замечательно, а вот на другой машине, например, на машине клиента, возникают какие-нибудь непонятные ошибки. Существует несколько способов отладки таких программ. Во-первых, можно поставить среду разработки пользователю на машину и там попробовать отладить программу. Однако этот вариант вряд ли можно считать удачным и отличающимся изяществом. К тому же пропадет чистота эксперимента: инсталляция Delphi может заменить какие-нибудь старые системные библиотеки Windows более новыми, после чего ошибка в программе может уже и не возникнуть. К тому же может помешать отсутствие свободного пространства на диске или нежелание пользователя. Следующий наиболее простой и незатейливый вариант — это в той части программы, где, как вы предполагаете, находится ошибка, расставить функции MessageBox (или ShowMessage) с каким-нибудь сообщением и, таким образом, более четко определить место возникновения ошибки. Этот вариант прост, как все гениальное, но обладает рядом существенных недостатков:
1. Это довольно долго и утомительно. Каждый раз приходится убирать старые функции и расставлять новые, перекомпилировать программу и копировать ее на машину клиента.
2. Ошибка может возникать в том месте, где поставить свою функцию весьма непросто. Например, в одном из стандартных модулей Delphi.
3. Ну и, наконец, можно просто банально забыть убрать какой-нибудь из MessageBox'ов. Сам так не раз прокалывался.
Однако в ряде случаев этот вариант может оказаться единственно возможным. Еще один вариант отладки таких программ предназначен для тех, у кого рабочая машина и машина клиента находятся в локальной сети. 
В состав инсталляции Delphi входит небольшая, но очень полезная утилита — Remote Debugging. Ее инсталляция находится в папке rdebug. Назначение Remote Debugging, как следует из названия, — это удаленная отладка программ. Как раз наш случай, лучше и не придумаешь. 
Но прежде чем воспользоваться всеми прелестями удаленной отладки программы в среде Delphi, Remote Debugging надо скопировать на машину пользователю, проинсталлировать и запустить. После чего в System Tray'е появится изображение зеленого жучка. Вернемся к нашему проекту. В опциях проекта (Project|Options) необходимо произвести следующие изменения:
1. На вкладке Linker включить опцию Include remote debug symbols.
2. На вкладке Directories/Conditionals в поле Output directory необходимо указать путь к общедоступной папке на машине клиента (с именем машины). Если сделать это затруднительно, то можно указать папку на своей машине, а полученные после компиляции файлы с расширениями exe и rsm каждый раз копировать на машину клиента.
3. Нажмите кнопку ОК.
Далее перейдем к параметрам, с которыми будет запускаться программа (Run|Parameters). На вкладке Remote необходимо указать следующие данные:
1. В поле Remote Path указать путь и имя файла на удаленной машине, где находится исполняемый файл, с сетевым именем удаленной машины.
2. В поле Remote Host надо указать сетевое имя удаленной машины или ее IP адрес.
3. Далее можно сделать следующее:
Включить опцию Debug Project on remote machine и нажать кнопку ОК. Тогда после выполнения команды Run (F9) вы запустите сессию удаленной отладки.
Или так:
Нажать кнопку Load, чтобы сразу начать сессию удаленной отладки. Разумеется, на удаленной машине уже должны быть исполняемый файл (.exe) и файл для удаленной отладки (.rsm).
После всех этих нехитрых манипуляций с настройками проекта и параметрами запуска на удаленной машине должна запуститься программа, а Delphi — перейти в состояние отладки. Далее удаленная отладка программы ничем не отличается от обычной отладки любой программы.
Ну, вот, пожалуй, и все. Успешной отладки, господа программисты!

Проект Delphi World © Выпуск 2002 - 2024
Автор проекта: USU Software
Вы можете выкупить этот проект.