2021-08-28, 01:46
  #1
Medlem
ekonomisnigelns avatar
Hur får man kontakt via bluetooth på remote debug när jag använder mig av GDB?
Citera
2021-08-28, 02:53
  #2
Medlem
a-mortals avatar
Citat:
Ursprungligen postat av ekonomisnigeln
Hur får man kontakt via bluetooth på remote debug när jag använder mig av GDB?

Har aldrig testat men skulle gissa på något i stil med:
Kod:
Server:
gdbserver /dev/rfcomm0 mydebugexe
Klient:
target remote /dev/rfcomm0
ftp://ftp.gnu.org/old-gnu/Manuals/gd...r/gdb_toc.html
ftp://ftp.gnu.org/old-gnu/Manuals/gd...15.html#SEC133
Citera
2021-11-06, 02:13
  #3
Medlem
Citat:
Ursprungligen postat av a-mortal
Har aldrig testat men skulle gissa på något i stil med:
Kod:
Server:
gdbserver /dev/rfcomm0 mydebugexe
Klient:
target remote /dev/rfcomm0
ftp://ftp.gnu.org/old-gnu/Manuals/gd...r/gdb_toc.html
ftp://ftp.gnu.org/old-gnu/Manuals/gd...15.html#SEC133


Det verkar vara något fel på länkarna ovan, iddes inte kolla efter var de leder och
rekommenderar att kolla den här länken istället:
(FB) Gdb and bluetooth.

De "normala exemplena" av att debugga ett remote program verkar vara att alla kör över nätverket istället för att använda Bluetooth.
Du behöver då välja ett användbart portnummer på din IP-adress, och i rätt många exempel så används
porten nr 2000,

För den som vill träna på detta så enkelt som möjligt utan att blanda in Bluetooth, går det att göra debugging från din host-maskin till din virtuella maskin där du kör ditt program du vill debugga.
Gdb och gdbserver använder då TCP för att föra över informationen mellan dem, tydligen via en dubbelriktad pipe.

Men gäller det drivers och liknande, tex daemons, så har de ofta timers och måste ibland ha realtidsprestanda, så det kan vara knepigt att låsa dem vid en debugger.
Dvs det beteendet som är förväntat uppträder inte som man tänkt.

Ytterligare trubbel kan tillkomma om du måste debugga multitrådade program, och man brukar enbart använda breakpoints istället för tex single-stepping av koden.

Kom ihåg att försöka stänga ner gdbserver normalt och använd inte kill -9 kommandot, det påstås att ditt terminalfönster annars kan tappa kontakten med stdin.
Citera
2022-03-16, 19:51
  #4
Medlem
Här finns en liten intressant artikel om att koppla upp debuggern gdb mot en Arduino:
https://www.codeproject.com/Articles...B-on-Classic-A

Det är i regel svårt att debugga vissa typer av program som körs på mikro-PCs.
Där ingår drivers och liknande. Eftersom dessa oftast är tidskritiska.
Artikeln är i alla fall ganska välmatad och deskriptiv till sin natur.
Citera
2023-02-06, 00:08
  #5
Medlem
BUMP !!

Vet ej om det kan vara till någon glädje, men här finns en artikel som tar upp
problemen och dess möjliga lösningar med debugging av programvara som körs på annan
maskin än utvecklingsmaskinen:

https://devblogs.microsoft.com/cppbl...emote-targets/

Artikeln tar upp Visual C++ remote debugging features, där nätverket används för att överföra
debuginfon.
Som exempel alltså
Har dock inte provat denna lösning och det verkar överkurs med att använda krypterad anslutning.
Men vad vet jag om detta ?

I vilket fall så finns det en hel del artiklar om liknande problem.
Och läser man flera av senare artiklar i ämnet så de som utvecklar brukar istället köra sin "remote maskin" som en virtuell dito i samma som hosten där utvecklandet sker.

OBS Ett par punkter bara:
1. Du bör inte köra något buildkommando samtidigt som du debuggar, det säger ju egentligen sig självt. Men det händer att folk gör det misstaget ändå.
2. Du kan behöva klona hela projektträdet från utvecklarmaskinen till din remotemaskin för att du ska kunna se källkoden om du måste stega i källkoden.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in