![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Трассировка порождённых процессов. [D5, Win2k]
DiamondShark © (2004-12-09 14:35:00)Есть группа из двух проектов.
Процесс project1 порождает процесс project2. Надо оттрасировать процесс project2, причём важен именно факт порождения его процессом project1.
Конечно, если установить флажок Debug spawned processes и запустить project1, то процесс project2 трассируется. Но только на уровне машинного кода. А хотелось бы полноценной отладки на уровне исходного кода.
Digitman (2004-12-09 15:27:00) [21]если процесс project2 работает абсолютно автономно (т.е. никак не взаимодействует с project1), то никакой речи о разнице суенариев идти не может и project2 можно запускать под встр.отладчиком делфи и отлаживать его обычным образом - при запуске его в качестве порожденного процессом project1 он поведет себя точно так же как поведет себя под отладчиком
DiamondShark (2004-12-09 15:24:00) [22]
> ЧТО мешает отладить project2 ОБЫЧНЫМ образом ?
Ничего, кроме бесполезности такой отладки.
Предвидя, что следующим будет вопрос: "А зачем тебе это нужно" объясняю.
Первый процесс подставляет второму хэндлы ввода/вывода.
До второго процесса хэндлы доходят. Это показывает успешный вызов GetStdHandle/ReadFile/WriteFile во втором процессе.
Но эти хэндлы чем-то не нравятся RTL для стандартных read/write.
Чтобы выяснить, чем именно не нравятся, хочу оттрассировать RTL.
DiamondShark (2004-12-09 15:08:00) [23]
> Если уже запущен - работаем с имеющейся копией, если нет
> - пускаем. Это позволяет его отлаживать.
К сожалению, не подходит. Нужен именно такой сценарий, как описано.
Digitman (2004-12-09 15:03:00) [24]
> DiamondShark © (09.12.04 14:57) [2]
> А параметры не интересуют.
ну так тем более !
ЧТО мешает отладить project2 ОБЫЧНЫМ образом ?
TUser (2004-12-09 14:58:00) [25]Я отлаживал такую конструкцию. Перед тем, как породить Pr2 первый процесс проверяет, не запущен ли он. Если уже запущен - работаем с имеющейся копией, если нет - пускаем. Это позволяет его отлаживать.
Заметен глюк ломаной Delphi - при запуске двух ее копий, если в каждой из них идет отладка, то переодически вываливается сообщение (что-то про лицензию) и дальше IDE и отладчик работать отказываются. Спасает только перезагрузка.
DiamondShark (2004-12-09 14:57:00) [26]А параметры не интересуют.
Digitman (2004-12-09 14:50:00) [27]что мешает запустить автономно project2 обычным образом в Делфи-среде под встр.отладчиком, эмулируя передаваемые ему процессом project1 параметры указанием их в меню Run -> Parameters .. ?