Amarengo

Articles and news

GDB Vs LLDB-debuggerit

1. Mikä on GDB: n Määritelmäero

ensin?

”GDB on GNU-ohjelmistojärjestelmän standardi debuggeri”
GNU-debuggeri, jota yleensä kutsutaan vain GDB: ksi ja jonka nimi on GDB suoritettavana tiedostona, on GNU-käyttöjärjestelmän standardi debuggeri. Sen käyttö ei kuitenkaan rajoitu tiukasti GNU-käyttöjärjestelmään; se on kannettava debuggeri, joka toimii monissa Unixin kaltaisissa järjestelmissä ja toimii monille ohjelmointikielille, kuten Ada, C, C++, Objective-C, Free Pascal, Fortran, Java1 ja osittain muut.2
(lainaus Wikipediasta)

toiseksi, mikä on LLDB?

”LLDB on debuggeri, joka on rakennettu joukoksi uudelleenkäytettäviä komponentteja, jotka hyödyntävät suuresti olemassa olevia kirjastoja suuremmassa LLVM-projektissa, kuten Clang expression-jäsennin ja LLVM-purkaja.
LLDB on Applen ”from the ground up”-korvaaja GDB: lle, joka on kehitetty tiiviissä yhteistyössä LLVM-kääntäjien kanssa tuomaan sinulle huipputeknistä virheenkorjausta, jolla on laajat ominaisuudet virtauksensäätöön ja tietojen tarkastukseen. Xcode 5: stä alkaen kaikki uudet ja olemassa olevat kehitysprojektit konfiguroidaan automaattisesti LLDB: n käyttöön. Tavallinen LLDB-asennus tarjoaa laajan joukon komentoja, jotka on suunniteltu yhteensopiviksi tuttujen GDB-komentojen kanssa. Sen lisäksi, että käytät vakiokokoonpanoa, voit helposti muokata LLDB: tä tarpeisiisi sopivaksi.
(lainaus Applen viralliselta sivustolta)
/* yritin löytää todellisia / käytännöllisiä tietoja todistaakseni väitteen : LLDB on jo paljon nopeampi kuin GDB, kun suuria ohjelmia virheenkorjataan.) En kuitenkaan löytänyt sitä. jos on joku ottaa tähän liittyvät tiedot, muokkaa tätä artikkelia. */

sekä GDB että LLDB ovat tietenkin erinomaisia debuggereita epäilemättä.
GDB on debuggeri osa GNU-projektia, joka luotiin toimimaan GNU-kääntäjän kanssa.
LLDB on debuggeri osa LLVM-projektia, joka luotiin toimimaan LLVM-kääntäjän kanssa.

2. Debuggerikomennon käytön erotuksella

suurin osa komennoista on samoja.
kuitenkin lldb ja gdb, kaksi erilaista debuggeria ovat eri kehittäjien kehittämiä ja siten niillä on hieman erilaiset komennot.

alla on hyvä linkki näiden kahden debuggerikomennon erojen vertailuun.
anna kun linkitän alla olevan yksityiskohdan : https://developer.apple.com/library/content/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html

http://lldb.llvm.org/lldb-gdb.html

tämä osoittaa ja organisoi selvästi komentojen eron.

mikäli sivusto ei ole enää käytettävissä, teen yhteenvedon alla olevien komentojen suurimmasta erosta linkitettyyn sivustoon.

Suorituskomennon ero GDB: n ja LLDB: n välilläKeskeytyspistekomennon ero GDB: n ja LLDB: n välillätutkivan muuttuvan komennon ero GDB: n ja LLDB: n välillätutkivan säiekomennon ero GDB: n ja LLDB: n välillä
3. Henkilökohtaisen mielipiteen
LLDB on oletusarvoisesti täysin integroitu Xcode IDE 5: stä ensisijaisena debuggerina.
siitä lähtien on ollut jonkin verran VALITUSRAPORTTIA LLDB: n vakaudesta, suorituskykyyn liittyvistä ongelmista ja vioista.
LLVM with LLDB-projektia on kuitenkin paranneltu ja päivitetty uskomattoman paljon, sillä se on yksi maailman keskeisimmistä avoimen lähdekoodin projekteista.
joten ainakin mielestäni LLDB: tä tulisi käyttää Applen kehitysympäristössä, sillä LLDB varasti GDB: n aseman ja on jo ensisijainen oletus debuggeri ainakin Apple Worldissa.
(syyskuun lopulla 2016 julkaistiin virallisesti Xcode 8, joka integroi LLVM: n ja LLDB: n, eli aika paljon on kulunut siitä, kun LLVM/LLDB on xcodelle oletustyökaluketju.)
mutta me kaikki jo tiedämme, että GDB on ollut historiallisesti ja vahvasti todennettu ja taisteluissa todistettu debuggeri yli 30 vuoden ajan, mikä on mahtavaa.

niin, sanoisin…
haluaisin käyttää lldb: tä käyttäessäni clangia, käyttää gdb: tä käyttäessäsi GCC-kääntäjää hyvänä yhdistelmänä tai parina, koska lldb perustuu llvm: ään, kun taas gdb on GNU-debuggeri.

toivon, että siitä voisi olla sinulle apua.

Kiitos.

Vastaa

Sähköpostiosoitettasi ei julkaista.