Niedziałający Breakpoint. Program nie zatrzymuje się na breakpoint-cie.

0

Cześć,

kolejny problem z typu doszedłem do ściany i nie potrafię jej obejść :)

mam dwa projekty główny i dowiązany. Jeżeli wstawię breakpoint w projekcie głównym to mam prawidłową ikonę breakpoint-a czyli czerwone kółko z zieloną fajeczką na nim i wszystko jest OK program zatrzymuje się w tym miejscu gdzie chcę.
Natomiast w projekcie "dowiązanym" jak wstawiam breakpoint-a to jego ikona to czerwone kółko z żółtym krzyżykiem i program nie staje w tym miejscu gdzie chcę (oczywiście jestem pewien że dochodzi do tego miejsca tylko się nie zatrzymuje).
Wujek Google mówi tylko tyle że ten pierwszy jest cytuję: The breakpoint is valid and enabled. a ten drugi w tym dowiązanym projekcie jest cytuję: The breakpoint is invalid and enabled. W sumie tyle to sam się domyśliłem.

Poza tym kieruje moją uwagę na opcje projektów i ustawienia opcji debugowania które w obu projektach mam takie same.

Więc ściana :(

0

A co oznacza projekt dowiązany? To jakieś specyficzne nazewnictwo dla buildera? Opis brzmi tak, jakby ten projekt dowiązany produkował dllke i teraz albo nie masz najświeższych symboli do debugowania (bo np. projekt się nie przebudował bo zrobiłeś nieznaczące zmiany w nagłówku) albo IDE jako takie nie radzi sobie dobrze z debugowaniem dynamicznie dołączanymi do procesu bibliotekami - ale to tylko takie moje zgadywanie. Nie wiem czego tam builder używa pod spodem, na Twoim miejscu sprawdziłbym czy gdb (konsolowy) poprawnie zatrzymuje się na Twoich breakpointach.

0

proponuje debugować będąc w drugim projekcie i wybierając pierwszy jako ten co ma uruchomić drugi projekt... w delphi działało

0

ten "dowiązany" projekt produkuje DLL-kę ale dll-ka na pewno jest zbudowana od nowa.
Ja właśnie startuję z tego projektu który produkuje DLL-kę.

Jeżeli chodzi o debugowanie z poziomu drugiego projektu (tego który buduje dll-kę) to tak właśnie robiłem od początku. Projekt się uruchamia ale nie staje w miejscu breakpoint-a.

0

jeszcze możesz podczas debugowania zatrzymać i kazać mu przejść do następnej linii, zobaczysz czy na pewno otwiera właściwe pliki źródłowe

0

na pewno korzysta z dobrych plików źródłowych bo wyświetla komunikat który wstawiłem właśnie w celu sprawdzenia czy debuger korzysta z dobrego pliku i wchodzi w dobre miejsce w kodzie.

0

Nie pamiętam jak to było w BCB6, ale generalnie w nowszych zasada jest taka, że jak mamy w projekcie grupowym (bo tak to się poprawnie nazywa) dwa projekty exe oraz dll. To w opcjach projektu dll (zakładka debugger) ustawiamy Host Application na wynikowy plik exe z drugiego projektu. Następnie trzeba upewnić się, że mamy aktywny projekt dll'ki i kliknąć Run (F9). Wtedy breakpointy z pliku dll powinny działać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1