Kā instalēt GDB operētājsistēmā CentOS 6

Kā instalēt GDB operētājsistēmā CentOS 6

GDB ir C, C++, Objective-C, Pascal, Fortran, Go, D, OpenCL C, Ada un Modula-2 atkļūdotājs.

CentOS pamatā ir RHEL (Red Hat Enterprise Linux). Viens no galvenajiem RHEL mērķiem ir nodrošināt stabilu servera operētājsistēmu, kas nozīmē, ka jaunākas programmatūras pakotņu versijas ne vienmēr ir pieejamas.

Rakstīšanas laikā CentOS 6 piedāvā GDB v7.2. Tomēr GDB komanda nesen izlaida kodu v7.91.

Oficiāli tiek ieteikts palaist citu Linux distribūciju, lai izmantotu jaunāku GDB versiju. Tas ne vienmēr ir ideāli. Par laimi, ir iespējams instalēt jaunākās GDB versijas operētājsistēmā CentOS 6. Tā kā GDB ir atkļūdotājs, nevis sistēmas galvenais komponents, varat droši izmantot jaunāku versiju.

Šajā rakstā ir paskaidrots, kā CentOS 6 instalēt gan atbalstītās, gan neatbalstītās GDB versijas.

Es arī paskaidrošu, kā iestatīt GDB, lai sniegtu jums vieglāk lasāmu atkļūdošanas informāciju, izmantojot C++ standarta bibliotēku (piemēram, virkni) un standarta veidņu bibliotēku (piemēram, vektoru). Šo funkciju sauc par glītu drukāšanu.

Piesakieties savā VPS un iestatiet savu lietotāja kontu

  1. Piesakieties savā VPS. To var izdarīt, Vultr vadības panelī noklikšķinot uz "View Console" vai izmantojot SSH klientu.

    (a) Piesakieties kā root.

    (b) Izveidojiet savu lietotāja kontu. Iestatiet paroli.

    adduser <username>
    passwd <username>
    

    (c) Piešķiriet lietotājam sudo piekļuvi.

    visudo
        After the line "root   ALL=(ALL)   ALL"
        Add the line "<username>   ALL=(ALL)   ALL"
        --- If you aren't familiar with vi, go to the line "root   ALL=(ALL)   ALL".
        ---   Hit "o" to create a new line after that line and enter insert mode.
        ---   Type "<username>   ALL=(ALL)   ALL".
        ---   Hit ESC.
        ---   Type "ZZ" to save.
    

    (d) Izrakstieties kā root, pēc tam atkal piesakieties ar savu lietotāja kontu. Daudz drošāk ir nekad nepieteikties kā root. Sudo izmantošana ir labāka prakse.

Ja vēlaties instalēt oficiāli atbalstīto (vecāko) GDB versiju

  1. Instalējiet GDB.

    sudo yum install gdb
    
  2. Pārbaudiet instalēto versiju un skatiet tās atrašanās vietu.

    gdb --version
        May say: GNU gdb (GDB) Red Hat Enterprise Linux (7.2-75.el6)
    which gdb
        /usr/bin/gdb
    

Ja vēlaties instalēt jaunāku GDB versiju no avota

  1. Instalējiet C kompilatoru, piemēram, GCC. C++ kompilators nav nepieciešams, lai izveidotu GDB no avota, bet tas ir nepieciešams, lai demonstrētu GDB jauko drukāšanas funkciju. Varat izveidot jaunāku GCC versiju no avota, veicot darbības, kas norādītas rakstā Kā instalēt GCC operētājsistēmā CentOS 6 . Vai arī varat instalēt CentOS 6 oficiāli atbalstīto GCC versiju, izpildot:

    sudo yum install gcc gcc-c++
    
  2. Instalējiet papildus nepieciešamās pakotnes.

    sudo yum install wget tar gzip ncurses-devel texinfo svn python-devel
    
  3. Izlemiet, kuru GDB versiju vēlaties izveidot no avota. Apmeklējiet GDB FTP vietni, lai skatītu lejupielādei pieejamās versijas.

  4. Iegūstiet vajadzīgās GDB versijas avotu. Pārējā šī raksta daļa ir rakstīta versijai 7.9.1, un tajā tiks lejupielādēti avoti~/sourceInstallations/gdb-7.9.1/ — jums būs jāaizstāj atbilstošs versijas numurs ar jaunākām versijām.

    mkdir ~/sourceInstallations
    cd ~/sourceInstallations
    wget ftp://ftp.gnu.org/gnu/gdb/gdb-7.9.1.tar.gz .
    tar -zxvf gdb-7.9.1.tar.gz
    
  5. Izveidojiet GDB. Ja tas tiks pabeigts pareizi, pēdējā rindiņā būs uzraksts "veiksmi". Ir normāli, ja daži kļūdaini ziņojumi ātri ritina garām. Tos var droši ignorēt.

    mkdir gdb-7.9.1.build
    cd gdb-7.9.1.build
    ../gdb-7.9.1/configure --with-python=yes && make && sudo make install && echo success
        --- If your VPS has multiple cores, you can speed up the build by changing the middle part
        ---  of this line from "&& make &&" to "&& make -j <number of cores> &&".
        --- You can see the number of cores your VPS has by running "nproc"
        --- The parameter "--with-python=yes" is necessary for the pretty printing feature
    
  6. Instalējiet C++ pretty printing.

    cd ~/
    svn co svn://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python gdb_printers
    Create a file ~/.gdbinit of:
        python
        import sys
        sys.path.insert(0, '/home/<yourUserName>/gdb_printers/')
        from libstdcxx.v6.printers import register_libstdcxx_printers
        end
    --- One way to create this file is to run "vi ~/.gdbinit", hitting "i" to enter insert mode,
    ---  typing the above file, hitting ESC, and hitting "ZZ" to save.
    
  7. Pārbaudiet instalēto versiju un tās atrašanās vietu.

    gdb --version
        May say: GNU gdb (GDB) 7.9.1
    which gdb
        /usr/local/bin/gdb
    
  8. Pēc izvēles palaidiet GDB un skatiet skaistu drukāšanu.

    mkdir ~/gdbExample
    cd ~/gdbExample
    Create a file gdbExample.cpp of:
        #include <string>
        #include <vector>
        using namespace std;
    
        int main() {
           string foo = "bar";
           vector<string> vec;
           vec.push_back("foo");
           vec.push_back("bar");
           vec.push_back("foobar");
        }
    --- One way to create this file is to run "vi gdbExample.cpp", hitting "i" to enter insert mode,
    ---  typing the above file, hitting ESC, and hitting "ZZ" to save.
    g++ -ggdb gdbExample.cpp -o gdbExample
    Start GDB traditionally, by running "gdb ./gdbExample".  Or, start GDB by using its terminal user interface (basically a text mode GUI), by running "gdb --tui ./gdbExample".
    Enter "break main" to set a breakpoint at the beginning of function main() -- and it will say:
        Breakpoint 1 at 0x<someAddress>: file gdbExample.cpp, line 6.
    Enter "run" to start the program, which will immediately hit the breakpoint you just set -- and it will say:
        Starting program: /home/<yourUserName>/gdbExample/gdbExample
    
        Breakpoint 1, main () at gdbExample.cpp:6
        6          string foo = "bar";
    Enter "next" and hit enter four times, and gdb will move up to just before executing:
        10         vec.push_back("foobar"); 
    Enter "print foo" and gdb will show:
        $1 = "bar"
    Enter "print vec" and gdb will show:
        $2 = std::vector of length 2, capacity 2 = {"foo", "bar"}
        --- Remember, line 10 hasn't executed yet to add "foobar" to the vector
    Enter "quit" and "y" to quit anyway.
    
  9. Pēc izvēles atgūstiet vietu cietajā diskā. Jūsu ~/sourceInstallationsdirektorijs aizņems aptuveni 386 MB. Iespējams, ka ir prātīgi saglabāt direktorijus, jo ir izvēles konfigurācijas opcijas, kuras jums var nākties izmantot kādā brīdī nākotnē, un ātrāk būtu, ja daudz kas jau būtu izdarīts. Turklāt izveides procesā tiek izveidoti žurnāli, kurus vēlāk varat pārbaudīt un pēc tam strādāt, ja kaut kas noiet greizi. Taču pēc sudo make installagrākas palaišanas jūsu instalētā GDB nav atkarīga no nekā šajā direktorijā, un vietas var būt par daudz, tāpēc varat veikt šo darbību un atgūt aptuveni 386 MB. SVARĪGI: neizdzēsiet ~/gdb_printers/direktoriju! Šī direktorija saturs tiek ielādēts katru reizi, kad palaižat GDB. Tie NAV apkopoti pašā GDB.

    cd ~/
    rm -rf sourceInstallations
    --- Again, if you can spare the space, you may someday be happy to have left it there.
    

Instalējiet Plesk operētājsistēmā CentOS 7

Instalējiet Plesk operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Plesk ir patentēts tīmekļa mitinātāja vadības panelis, kas ļauj lietotājiem administrēt savas personīgās un/vai klientu vietnes, datu bāzes

Kā instalēt Squid starpniekserveri CentOS

Kā instalēt Squid starpniekserveri CentOS

Squid ir populāra bezmaksas Linux programma, kas ļauj izveidot pāradresācijas tīmekļa starpniekserveri. Šajā rokasgrāmatā jūs redzēsit, kā instalēt Squid uz CentOS, lai jūs pārvērstu

Kā instalēt Lighttpd (LLMP Stack) operētājsistēmā CentOS 6

Kā instalēt Lighttpd (LLMP Stack) operētājsistēmā CentOS 6

Ievads Lighttpd ir Apache dakša, kuras mērķis ir daudz mazāk resursietilpīgs. Tas ir viegls, tāpēc arī tā nosaukums ir diezgan vienkārši lietojams. Instalēšana

Statiskā tīkla un IPv6 konfigurēšana operētājsistēmā CentOS 7

Statiskā tīkla un IPv6 konfigurēšana operētājsistēmā CentOS 7

VULTR nesen veica izmaiņas, un tagad visam vajadzētu darboties labi, ja ir iespējots NetworkManager. Ja vēlaties atspējot

Icinga2 modificēšana, lai izmantotu galveno/klienta modeli operētājsistēmā CentOS 6 vai CentOS 7

Icinga2 modificēšana, lai izmantotu galveno/klienta modeli operētājsistēmā CentOS 6 vai CentOS 7

Icinga2 ir spēcīga uzraudzības sistēma, un, ja to izmanto galvenā klienta modelī, tā var aizstāt vajadzību pēc NRPE balstītām uzraudzības pārbaudēm. Meistars-klients

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā CentOS 7

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Apache Cassandra ir bezmaksas un atvērtā koda NoSQL datu bāzes pārvaldības sistēma, kas ir izstrādāta, lai nodrošinātu mērogojamību, hig.

Kā instalēt Microweber operētājsistēmā CentOS 7

Kā instalēt Microweber operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Microweber ir atvērtā koda vilkšanas un nomešanas CMS un tiešsaistes veikals. Microweber pirmkods tiek mitināts vietnē GitHub. Šī rokasgrāmata jums parādīs

Kā instalēt Mattermost 4.1 operētājsistēmā CentOS 7

Kā instalēt Mattermost 4.1 operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Mattermost ir atvērtā pirmkoda, pašmitināta alternatīva Slack SAAS ziņojumapmaiņas pakalpojumam. Citiem vārdiem sakot, izmantojot Mattermost, jūs apm

Minecraft serveru tīkla izveide ar BungeeCord operētājsistēmā Debian 8, Debian 9 vai CentOS 7

Minecraft serveru tīkla izveide ar BungeeCord operētājsistēmā Debian 8, Debian 9 vai CentOS 7

Kas jums būs nepieciešams Vultr VPS ar vismaz 1 GB RAM. SSH piekļuve (ar root/administratora tiesībām). 1. darbība: BungeeCord instalēšana Vispirms vispirms

Ļauj šifrēt vietnē Plesk

Ļauj šifrēt vietnē Plesk

Plesk vadības panelī ir ļoti jauka Lets Encrypt integrācija. Lets Encrypt ir viens no vienīgajiem SSL nodrošinātājiem, kas pilnībā izsniedz sertifikātus

Ļauj šifrēt cPanel

Ļauj šifrēt cPanel

Lets Encrypt ir sertifikātu iestāde, kas nodrošina SSL sertifikātus bez maksas. cPanel ir izveidojis glītu integrāciju, lai jūs un jūsu klients

Kā instalēt Concrete5 operētājsistēmā CentOS 7

Kā instalēt Concrete5 operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Concrete5 ir atvērtā pirmkoda CMS, kas piedāvā daudzas atšķirīgas un noderīgas funkcijas, lai palīdzētu redaktoriem viegli izveidot saturu.

Kā instalēt pārskata paneli sistēmā CentOS 7

Kā instalēt pārskata paneli sistēmā CentOS 7

Vai izmantojat citu sistēmu? Pārskatīšanas padome ir bezmaksas atvērtā pirmkoda rīks pirmkoda, dokumentācijas, attēlu un daudz ko citu pārskatīšanai. Tā ir tīmekļa programmatūra

Iestatiet HTTP autentifikāciju, izmantojot Nginx operētājsistēmā CentOS 7

Iestatiet HTTP autentifikāciju, izmantojot Nginx operētājsistēmā CentOS 7

Šajā rokasgrāmatā jūs uzzināsit, kā iestatīt HTTP autentifikāciju Nginx tīmekļa serverim, kas darbojas operētājsistēmā CentOS 7. Prasības Lai sāktu darbu, jums būs nepieciešams

Kā instalēt YOURLS operētājsistēmā CentOS 7

Kā instalēt YOURLS operētājsistēmā CentOS 7

YOURLS (Your Own URL Shortener) ir atvērtā koda URL saīsināšanas un datu analīzes lietojumprogramma. Šajā rakstā mēs apskatīsim instalēšanas procesu

Kā instalēt un konfigurēt ArangoDB operētājsistēmā CentOS 7

Kā instalēt un konfigurēt ArangoDB operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Ievads ArangoDB ir atvērtā koda NoSQL datu bāze ar elastīgu datu modeli dokumentiem, grafikiem un atslēgu vērtībām. Tas ir

Etckeeper izmantošana /etc versiju kontrolei

Etckeeper izmantošana /etc versiju kontrolei

Ievads /etc/ direktorijam ir izšķiroša nozīme Linux sistēmas darbībā. Iemesls tam ir gandrīz visas sistēmas konfigurācijas

Kāpēc jums vajadzētu izmantot SSHFS? Kā uzstādīt attālo failu sistēmu ar SSHFS operētājsistēmā CentOS 6

Kāpēc jums vajadzētu izmantot SSHFS? Kā uzstādīt attālo failu sistēmu ar SSHFS operētājsistēmā CentOS 6

Daudzi sistēmu administratori pārvalda lielu daudzumu serveru. Ja failiem ir jāpiekļūst dažādos serveros, piesakieties katrā atsevišķi apm

Half Life 2 servera iestatīšana operētājsistēmā CentOS 6

Half Life 2 servera iestatīšana operētājsistēmā CentOS 6

Šajā apmācībā tiks apskatīts Half Life 2 spēļu servera instalēšanas process sistēmā CentOS 6. 1. darbība: priekšnosacījumu instalēšana Lai iestatītu ou

Kā instalēt Laravel GitScrum operētājsistēmā CentOS 7

Kā instalēt Laravel GitScrum operētājsistēmā CentOS 7

Laravel GitScrum jeb GitScrum ir atvērtā pirmkoda produktivitātes rīks, kas izstrādāts, lai palīdzētu izstrādātāju komandām ieviest Scrum metodoloģiju līdzīgā veidā.

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk