vgdb(1)
NAMN
vgdb – mellanhand mellan Valgrind och GDB eller ett skal
SYNOPSIS
vgdb [options]
BESKRIVNING
vgdb ("Valgrind to GDB") används som en mellanhand mellan Valgrind och GDB eller ett skal. Det har tre användningslägen:
- Som ett fristående verktyg används det från en skalkommandorad för att skicka monitorkommandon till en process som körs under Valgrind. För denna användning måste vgdb-OPTIONER följas av monitorkommandot som ska skickas. För att skicka mer än ett kommando, separera dem med optionen -c.
- I kombination med GDB-kommandot "target remote |" används det som reläprogrammet mellan GDB och Valgrinds gdbserver. För denna användning kan endast OPTIONER anges, men inget KOMMANDO kan anges.
- I läget --multi använder vgdb det utökade fjärrprotokollet för att kommunicera med GDB. Detta låter dig se utdata från både valgrind och GDB i GDB-sessionen. Detta åstadkoms via "target extended-remote | vgdb --multi". I detta läge behöver du inte längre starta valgrind själv. vgdb startar valgrind när gdb säger åt det att köra ett nytt program. För denna användning kan vgdb-OPTIONER även inkludera --valgrind och --vargs för att beskriva hur valgrind ska startas.
OPTIONER
--pid=<number>
- Anger PID för processen som vgdb måste ansluta till.
- Denna option är användbar om fler än en Valgrind gdbserver kan anslutas till.
- Om argumentet --pid inte anges och flera Valgrind gdbserver-processer körs, rapporterar vgdb listan över sådana processer och avslutar sedan.
--vgdb-prefix
- Måste anges till både Valgrind och vgdb om du vill ändra standardprefixet för FIFO:erna, namngivna pipes, som används för kommunikation mellan Valgrind gdbserver och vgdb.
--wait=<number>
- Instruerar vgdb att söka efter tillgängliga Valgrind gdbserver-instanser under det angivna antalet sekunder.
- Detta gör det möjligt att starta en vgdb-process innan Valgrind gdbserver startas som du vill att vgdb ska kommunicera med.
- Denna option är användbar när den används tillsammans med ett --vgdb-prefix som är unikt för processen du vill vänta på.
- Om du använder argumentet --wait i GDB-kommandot "target remote" måste du sätta GDB-remotetimeout till ett värde som är större än värdet för argumentet --wait.
- Se optionen --max-invoke-ms nedan för ett exempel på hur värdet remotetimeout sätts.
--max-invoke-ms=<number>
- Anger antalet millisekunder efter vilket vgdb tvingar fram anropet av gdbserver som är inbäddad i Valgrind.
- Standardvärdet är 100 millisekunder.
- Ett värde på 0 inaktiverar tvingat anrop.
- Det tvingade anropet används när vgdb är anslutet till en Valgrind gdbserver, och Valgrind-processen har alla sina trådar blockerade i ett systemanrop.
- Om du anger ett stort värde kan du behöva öka GDB-värdet "remotetimeout" från dess standardvärde på 2 sekunder.
- Du bör säkerställa att timeouten, i sekunder, är större än värdet för --max-invoke-ms.
- Till exempel, för --max-invoke-ms=5000, är följande GDB-kommando lämpligt:
(gdb) set remotetimeout 6
--cmd-time-out=<number>
- Instruerar ett fristående vgdb att avsluta om Valgrind gdbserver som det är anslutet till inte behandlar ett kommando inom det angivna antalet sekunder.
- Standardvärdet är att aldrig få timeout.
--port=<portnr>
- Instruerar vgdb att använda tcp/ip och lyssna efter GDB på det angivna portnumret i stället för att använda en pipe för att kommunicera med GDB.
- Att använda tcp/ip gör det möjligt att ha GDB körande på en dator och felsöka en Valgrind-process som körs på en annan måldator.
- Exempel:
# On the target computer, start your program under valgrind using valgrind --vgdb-error=0 prog # and then in another shell, run: vgdb --port=1234
- På datorn som är värd för GDB, kör kommandot:
gdb prog (gdb) target remote targetip:1234
- där targetip är IP-adressen eller värdnamnet för måldatorn.
--vgdb-multi
- Gör att vgdb startar i extended-remote-läge och väntar på att gdb talar om för oss vad som ska köras.
--valgrind
- Sökvägen till valgrind som ska användas i extended-remote-läge.
- Om den inte anges startas systemets valgrind.
--vargs
- Optioner att köra valgrind med i extended-remote-läge.
- Till exempel -q.
- Allt efter --vargs skickas som argument till valgrind som det är.
- Detta är endast för att ange valgrind-optioner.
- Programkörfilen och dess argument anges separat av GDB och ska INTE inkluderas här.
-c
- För att ge mer än ett kommando till ett fristående vgdb, separera kommandona med optionen -c.
- Exempel:
vgdb v.set log_output -c leak_check any
-l
- Instruerar ett fristående vgdb att rapportera listan över körande Valgrind gdbserver-processer och sedan avsluta.
-T
- Instruerar vgdb att lägga till tidsstämplar i vgdb-informationsmeddelanden.
-D
- Instruerar ett fristående vgdb att visa tillståndet för det delade minnet som används av Valgrind gdbserver.
- vgdb avslutar efter att ha visat Valgrind gdbservers delade minnestillstånd.
-d
- Instruerar vgdb att producera felsökningsutdata.
- Ange flera -d-argument för att öka utförligheten.
- När du anger -d till ett relä-vgdb bör du omdirigera standardfel, stderr, för vgdb till en fil för att undvika interaktion mellan GDB och vgdb:s felsökningsutdata.
SE ÄVEN
valgrind(1), $INSTALL/share/doc/valgrind/html/index.html eller
http://www.valgrind.org/docs/manual/index.html
Debugging your program using Valgrind's gdbserver and GDB[1]
vgdb[2], Valgrind monitor commands[3].
FÖRFATTARE
Philippe Waroquiers.
ANMÄRKNINGAR
1. Debugging your program using Valgrind's gdbserver and GDB
http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.gdbserver
2. vgdb
http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.vgdb
3. Valgrind monitor commands
http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.valgrind-monitor-commands
KOLOFON
Denna sida är en del av projektet valgrind, ett system för felsökning och profilering av Linux-program.
Information om projektet finns på:
http://www.valgrind.org/
Om du har en felrapport för denna manualsida, se:
http://www.valgrind.org/support/bug_reports.html
Denna sida hämtades från projektets uppströms Git-förråd: http://sourceware.org/git/valgrind.git
den 24 maj 2026.
Vid den tidpunkten var datumet för den senaste commit som hittades i förrådet 23 maj 2026.
Om du upptäcker renderingsproblem i denna HTML-version av sidan, eller om du anser att det finns en bättre eller mer aktuell källa för sidan, eller om du har rättelser eller förbättringar av informationen i denna KOLOFON, som inte är en del av den ursprungliga manualsidan, skicka e-post till:
man-pages@man7.org
Release 3.28.0.GIT 05/24/2026 VGDB(1)
Sidslut
Orginalhemsidan på Engelska https://www.man7.org/linux/man-pages/man1/usbreset.1.html
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på på https://www.linux.se/kontaka-linux-se/
Tack till Datorservice som har sponsrat Linux.se med webbhotell.