|
Тема |
Re: BreakPoint [re: Hoвoбpaнeц] |
|
Автор |
andrew_nikoloff (bugbuster) |
|
Публикувано | 28.11.05 09:43 |
|
|
Много щеше да ни помогнеш ако беше дал малко информация за конфигурацията на проекта, директории и т.н., но... Сега ще ти опиша КАК ТРЯБВА да го направиш, а ако не е така...
1) Имаш два проекта. Да ги наречем MyApplication.dpr и MyLibrary.dpr. Те се намират съответно в C:\MyApplication\Source и C:\MyLibrary\Source.
2) Изходните файлове на проектите се генерират в директория C:\MyApplication\exe. Това се определя от настройката Project -> Options -> Directories/Conditionals -> Directories -> Output Directory.
3) В диалога Project -> Options -> Compiler -> Debugging се увери, че всички опции без последната (Use Debug DCUs) са отметнати.
4) Build-ни и двата проекта (за целта най-добре е да си направиш project group, за да не превключваш между две IDE-та или два проекта).
5) Зареди MyLibrary.dpr и установи Run -> Parameters -> Host Application да ти е C:\MyApplication\exe\MyApplication.exe. Сега можеш да си стартираш библиотеката. Стартира се твоето приложение.
5а) Библиотеката ти се зарежда динамично (с LoadLibrary): След зареждането на библиотеката от приложението ти изпълни стъпките, за които ти писах в предния си пост.
5б) Библиотеката се зарежда автоматично: Веднага след стартирането на приложението можеш да пристъпиш към стъпките от предния ми пос.
6) След като си указал валидния файл за symbil table (в случая това е C:\MyApplication\exe\MyLibrary.dll) breakpoint-ите ти от залени (невалидни) трябва да станат червени (валидни) и съответно да спира на тях.
Ако след като направиш всичко точно по този начин дебъгера продължава да не ти спира на точните на прекъсване - седни и опиши много подробно какво правиш или най-добре дай и сорса на проектите ти. В противен случай ще е много трудно да ти кажем къде грешиш.
Успех!
|
| |
|
|
|