Отладка создаваемого процесса
От: WebErr Россия  
Дата: 21.08.07 07:48
Оценка:
Есть два собранных проекта (.exe), один вызывает другой, как в дебагере VS 2003 пошагово отладить вызываемый процесс?
Как правильно вызвать такой процесс для отладки?
Студия же как-то стартует первый процесс пошагово, наверняка так же можно запустить и второй из первого?
C++ = C — 1;
Re: Отладка создаваемого процесса
От: ioni Россия  
Дата: 21.08.07 11:07
Оценка:
Здравствуйте, WebErr, Вы писали:

WE>Есть два собранных проекта (.exe), один вызывает другой, как в дебагере VS 2003 пошагово отладить вызываемый процесс?

WE>Как правильно вызвать такой процесс для отладки?
WE>Студия же как-то стартует первый процесс пошагово, наверняка так же можно запустить и второй из первого?

видимо ставить просто брекйпойнт
не знаю как в 2003 а в 2005 можно запускать несколько exe на отладкуб если не поддерживается,
то открыть вторую студию зпустить на отладку и поставить брейкпойнт
все как обычно
или требуется что то большее?
Re: Отладка создаваемого процесса
От: MShura  
Дата: 21.08.07 11:32
Оценка:
WE>Есть два собранных проекта (.exe), один вызывает другой, как в дебагере VS 2003 пошагово отладить вызываемый процесс?
WE>Как правильно вызвать такой процесс для отладки?
WE>Студия же как-то стартует первый процесс пошагово, наверняка так же можно запустить и второй из первого?

DebugBreak() в коде программы предложит его отладить.

А лучше вместо отладчиков развить полноценную трассировку. Начальные усилия по написанию программы больше, однако это быстро окупается (если программа продолжает развиваться)
Re: Отладка создаваемого процесса
От: Аноним  
Дата: 21.08.07 12:05
Оценка:
А Project->Properties->Debugging->Command не спасет?
Re[2]: Отладка создаваемого процесса
От: WebErr Россия  
Дата: 21.08.07 12:13
Оценка:
Здравствуйте, ioni, Вы писали:

I>Здравствуйте, WebErr, Вы писали:


WE>>Есть два собранных проекта (.exe), один вызывает другой, как в дебагере VS 2003 пошагово отладить вызываемый процесс?

WE>>Как правильно вызвать такой процесс для отладки?
WE>>Студия же как-то стартует первый процесс пошагово, наверняка так же можно запустить и второй из первого?

I>видимо ставить просто брекйпойнт

I>не знаю как в 2003 а в 2005 можно запускать несколько exe на отладкуб если не поддерживается,
I>то открыть вторую студию зпустить на отладку и поставить брейкпойнт
I>все как обычно
I>или требуется что то большее?


Не спасёт — там два проекта собраны разными версиями Студии: первый на VS2003, а вызываемый на VC6.
C++ = C — 1;
Re[3]: Отладка создаваемого процесса
От: CPP_  
Дата: 21.08.07 13:09
Оценка:
Здравствуйте, WebErr, Вы писали:

WE>Здравствуйте, ioni, Вы писали:


I>>Здравствуйте, WebErr, Вы писали:


WE>>>Есть два собранных проекта (.exe), один вызывает другой, как в дебагере VS 2003 пошагово отладить вызываемый процесс?

WE>>>Как правильно вызвать такой процесс для отладки?
WE>>>Студия же как-то стартует первый процесс пошагово, наверняка так же можно запустить и второй из первого?

I>>видимо ставить просто брекйпойнт

I>>не знаю как в 2003 а в 2005 можно запускать несколько exe на отладкуб если не поддерживается,
I>>то открыть вторую студию зпустить на отладку и поставить брейкпойнт
I>>все как обычно
I>>или требуется что то большее?


WE>Не спасёт — там два проекта собраны разными версиями Студии: первый на VS2003, а вызываемый на VC6.

В вызываемом есть pdb и символьная информация?
Re[4]: Отладка создаваемого процесса
От: WebErr Россия  
Дата: 21.08.07 13:54
Оценка:
Здравствуйте, CPP_, Вы писали:

CPP>Здравствуйте, WebErr, Вы писали:


WE>>Здравствуйте, ioni, Вы писали:


I>>>Здравствуйте, WebErr, Вы писали:


WE>>>>Есть два собранных проекта (.exe), один вызывает другой, как в дебагере VS 2003 пошагово отладить вызываемый процесс?

WE>>>>Как правильно вызвать такой процесс для отладки?
WE>>>>Студия же как-то стартует первый процесс пошагово, наверняка так же можно запустить и второй из первого?

I>>>видимо ставить просто брекйпойнт

I>>>не знаю как в 2003 а в 2005 можно запускать несколько exe на отладкуб если не поддерживается,
I>>>то открыть вторую студию зпустить на отладку и поставить брейкпойнт
I>>>все как обычно
I>>>или требуется что то большее?


WE>>Не спасёт — там два проекта собраны разными версиями Студии: первый на VS2003, а вызываемый на VC6.

CPP>В вызываемом есть pdb и символьная информация?

Всё есть, причём свежесобранное.
C++ = C — 1;
Re[2]: Отладка создаваемого процесса
От: Аноним  
Дата: 22.08.07 04:06
Оценка:
MS>А лучше вместо отладчиков развить полноценную трассировку. Начальные усилия по написанию программы больше, однако это быстро окупается (если программа продолжает развиваться)

не порекомендуете рецепт (идеологию, библиотеки, тулзы и т.д.).
Re[3]: Отладка создаваемого процесса
От: ioni Россия  
Дата: 22.08.07 06:24
Оценка:
Здравствуйте, WebErr, Вы писали:

WE>Здравствуйте, ioni, Вы писали:


I>>Здравствуйте, WebErr, Вы писали:


WE>>>Есть два собранных проекта (.exe), один вызывает другой, как в дебагере VS 2003 пошагово отладить вызываемый процесс?

WE>>>Как правильно вызвать такой процесс для отладки?
WE>>>Студия же как-то стартует первый процесс пошагово, наверняка так же можно запустить и второй из первого?

I>>видимо ставить просто брекйпойнт

I>>не знаю как в 2003 а в 2005 можно запускать несколько exe на отладкуб если не поддерживается,
I>>то открыть вторую студию зпустить на отладку и поставить брейкпойнт
I>>все как обычно
I>>или требуется что то большее?


WE>Не спасёт — там два проекта собраны разными версиями Студии: первый на VS2003, а вызываемый на VC6.


Ну запустите две разных студии делов то
Re[3]: Отладка создаваемого процесса
От: MShura  
Дата: 22.08.07 08:19
Оценка:
MS>>А лучше вместо отладчиков развить полноценную трассировку. Начальные усилия по написанию программы больше, однако это быстро окупается (если программа продолжает развиваться)

А>не порекомендуете рецепт (идеологию, библиотеки, тулзы и т.д.).


Вошли в функцию сделали запись об этом в лог (+ агрументы)
Логгирование промежуточных важных отрезков.
Вышли из функции сделали запись об этом в лог (+ код возврата)

С помощью макросов можно писать так, чтобы вообще не было ни каких следов о строках применяемых в логгировании, если захотите сделать версию без логов.
Рекоммендую сразу продумать систему фильтрования логов.
Фильтровать либо уровнем лога, либо маской. Либо и тем и тем.

В C++ можно использовать конструкторы/деструкторы для логгирования фактов захода/выхода из функций.
Лично я предпочитаю логгирование в стиле С с printf подобной строкой форматирования.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.