Zdalne debugowanie bibliotek współdzielonych za pomocą gdb / gdbserver
Moje pytanie dotyczy zdalnego debugowania aplikacji na wbudowanym procesorze ramienia za pomocą gdb / gdbserver.
Mogę debugować samą aplikację, ale aplikacja dynamicznie łączy się z biblioteką współdzieloną, która implementuje wewnętrzny protokół komunikacyjny. Chcę mieć możliwość ustawiania punktów przerwania w obrębie funkcji biblioteki współużytkowanej, więc spróbuj znaleźć problemy z wykrywaniem urządzeń.
Upewniłem się, że biblioteka jest skompilowana z symbolami debugowania i jest ładowana przez gdb po stronie hosta, mogę wyświetlać funkcje wewnątrz biblioteki, a nawet ustawiać punkty przerwania, ale gdy tylko spróbuję uruchomić aplikację, otrzymuję komunikat o błędzie do efekt:
Cannot insert breakpoint X.<br>Error accessing memory address : Input/output error.
gdzie X jest numerem punktu przerwania w gdb i jest adresem dalekim od małego, aby był poprawny.
Używam nowej biblioteki zarówno na komputerze docelowym, jak i na hoście, ale za pośrednictwemmount -o bind newlib oldlib
na celu z mount nfs.
Czy ktoś ma pojęcie o tym, co może być nie tak? Z góry dziękuję.