Re: Запуск программы под отладчиком MS Visual C++ 6
От: Alter_ Украина http://alter.org.ua
Дата: 16.12.04 22:55
Оценка:
Здравствуйте, black_jesus, Вы писали:

_>Заранее извиняюсь за идиотский вопрос, но ничего не могу найти в документации. Моя программа под MS Visual C++ 6 запускается на выполнение другой программой, написанной на Delphi. Мне требуется, чтобы моя программа выполнялась в отладчике. Перепробовал много вариантов, но ни один не сработал — программа запускается, но отладчик сообщает, что все точки останова недействительны и предлагает остановить программу на первой инструкции, что впоследствии и делает. То есть программа (по видимому та, что запускает мою программу) запускается под отладчиком, но мне-то нужен не ассемблерный листинг, а читаемый код на С++ и не запускающей программы, а моей собственной. При всех этих операциях я указывал в настройках проекта в качестве "Executable for debug session" имя запускающей прграммы. "Attach to process" в настройках проекта не получается по определению (запускающая программа при своем старте запускает мою). Я пробовал размещать все генерируемые двоичные файлы (.obj, .pdb и т.д.) в директории с exe-файлом, но тоже безуспешно. Использование DebugBreak() тоже ничего не дало. Если это вообще возможно, и кто-нибудь знает как это делается пожаллуйста подскажите. Заранее благодарен.


Я бы попробовал либо встроить int 3, либо сгенерить exception (например обратиться по левому адресу).
При этом нужно вообще убедиться, что System Debugger — VC6, а не Delphi (как — не знаю).
А чтобы VC6 было легче искать исходники, собирать это приложение с Debug Info в стиле
Program Database for Edit and Continue (тогда в .exe идут полные пути к исходникам):
Project Settings --> C/C++ --> Category: General, Debug Info

Delphi приложение запускается без Debuger'а, а VC6 свалится и потребует, чтобы его отладили.

Ну и на совсем крайний случай — SoftIce или вообще, писать логи в файл или OutputDebugString(),
а там уже разбираться, что не так работает.

Кажется так (c) Винни Пух.

--
Alter, http://alter.org.ua
--
Alter, http://alter.org.ua
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.