Tämä liittyy jonkin verran gdb-asetettuun korvaavaan kirjautumiseen pitäisi korvata gdb.txt oikein? .
Annetaan sanoa, että suoritan jonkin sovelluksen istunnon. Otan esimerkiksi qbittorrentin esimerkin uudelleen.
/ vie liikaa aikaa tai yksinkertaisesti ei vastaa.
Sitten ainoa vaihtoehto, joka jää minulle, on käyttää CTRL+C
, joka, jos ymmärrän oikein, tappaa taustalla olevan sovelluksen , esimerkissämme qbittorrent ja voin sitten lopettaa gdb: n
(gdb) quit
Onko / olisiko muuta tapaa lopettaa sovellus ja antaa gdb-istunto jatkuu tai ainoa tapa on edellä mainittu karkea tapa.
AFAI tietää, että hakuprosessin tappamisen pitäisi olla viimeinen eikä ensimmäinen ratkaisu.
Kommentit
Vastaa
Voit käyttää tähän signaaleja. Ennen kuin aloitat ohjelman, määritä USR1
tai USR2
rikkomaan gdb
vaikuttamatta ohjelma:
handle SIGUSR1 nopass
Sitten voit suorittaa ohjelman ja suorittaa lopetuksen suorittamalla kill -USR1
toinen kuori sopivalla (lapsi) pid. gdb
keskeyttää sovelluksen, ja voit sitten lisätä katkaisupisteitä, tutkia tilaa jne. ja jos haluat, jatka suorittamista cont
.
gdb
-kohdassa, Ctrl-C ei tappaa sovellusta, vaan vain murtautuu virheenkorjaimeen, jossa voit päättää mitä tehdä. Käytäcont
-näppäintä " niele signaali ", ja sovellus jatkaa häiriöttömästi. Tai käytäsignal 2
siirtääksesi SIGINT (2) sovellukseen. Tai tappaa sovellus käyttämälläkill
.