Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
GDB adalah penyahpepijat untuk C, C ++, Objective-C, Pascal, Fortran, Go, D, OpenCL C, Ada, dan Modula-2.
CentOS berdasarkan RHEL (Red Hat Enterprise Linux). Salah satu tujuan utama RHEL adalah menjadi sistem operasi pelayan yang stabil, yang bermaksud bahawa versi pakej perisian yang lebih baru tidak selalu tersedia.
Pada masa penulisan, CentOS 6 menawarkan GDB v7.2. Pasukan GDB bagaimanapun, baru-baru ini mengeluarkan kod untuk v7.91.
Secara rasmi disarankan untuk menjalankan distro Linux yang berbeza untuk menggunakan versi GDB yang lebih baru. Ini tidak selalu sesuai. Nasib baik, mungkin untuk memasang versi GDB yang lebih baru di CentOS 6. Oleh kerana GDB adalah penyahpepijat dan bukannya komponen teras sistem, anda cukup selamat menggunakan versi yang lebih baru.
Artikel ini menerangkan cara memasang versi GDB yang disokong dan tidak disokong di CentOS 6.
Saya juga akan menerangkan cara menyediakan GDB untuk memberi anda maklumat penyahpepijatan yang lebih mudah dibaca semasa menggunakan Perpustakaan Piawai C ++ (seperti tali) dan Pustaka Templat Piawai (seperti vektor). Ciri ini dipanggil pencetakan cantik.
Log masuk ke VPS anda. Ini dapat dilakukan dengan mengklik "View Console" di panel kawalan Vultr, atau dengan klien SSH.
(a) Log masuk sebagai root.
(b) Buat akaun pengguna anda sendiri. Tetapkan kata laluan.
adduser <username>
passwd <username>
(c) Beri pengguna sudo akses.
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) Log keluar sebagai root, kemudian log masuk semula dengan akaun pengguna anda. Jauh lebih selamat untuk tidak pernah log masuk sebagai root. Menggunakan sudo adalah amalan yang lebih baik.
Pasang GDB.
sudo yum install gdb
Periksa versi yang dipasang, dan lihat lokasinya.
gdb --version
May say: GNU gdb (GDB) Red Hat Enterprise Linux (7.2-75.el6)
which gdb
/usr/bin/gdb
Pasang penyusun C, seperti GCC. Penyusun C ++ tidak diperlukan untuk membina GDB dari sumber, tetapi diperlukan untuk menunjukkan ciri percetakan GDB yang cantik. Anda boleh membina versi GCC yang lebih baru dari sumber dengan melakukan langkah-langkah dalam artikel Cara Memasang GCC di CentOS 6 . Atau, anda boleh memasang versi GCC CentOS 6 yang disokong secara rasmi dengan menjalankan:
sudo yum install gcc gcc-c++
Pasang pakej tambahan yang diperlukan.
sudo yum install wget tar gzip ncurses-devel texinfo svn python-devel
Tentukan versi GDB yang ingin anda bina dari sumber. Lawati laman GTP FTP untuk melihat versi yang tersedia untuk dimuat turun.
Dapatkan sumber versi GDB yang anda mahukan. Selebihnya artikel ini ditulis untuk v7.9.1 dan akan memuat turun sumbernya ~/sourceInstallations/gdb-7.9.1/
- anda harus mengganti nombor versi yang betul untuk versi yang lebih baru.
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
Bina GDB. Sekiranya ini selesai dengan betul, baris terakhir yang akan anda lihat akan menyatakan "kejayaan". Adalah normal untuk melihat beberapa mesej yang kelihatan ralat bergulir dengan cepat. Ini selamat untuk diabaikan.
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
Pasang percetakan C ++ yang cantik.
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.
Periksa versi yang dipasang, dan lokasinya.
gdb --version
May say: GNU gdb (GDB) 7.9.1
which gdb
/usr/local/bin/gdb
Jalankan GDB secara pilihan dan lihat percetakan yang cantik.
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.
Dapatkan semula ruang cakera keras secara pilihan. ~/sourceInstallations
Direktori anda akan menggunakan sekitar 386MB. Mungkin bijak untuk menyimpan direktori, kerana ada pilihan konfigurasi pilihan yang mungkin perlu anda gunakan pada suatu ketika nanti, dan lebih cepat untuk menyelesaikan banyak perkara. Proses membina juga membuat log yang kemudian anda boleh periksa dan berfungsi sekiranya ada yang tidak kena. Tetapi, setelah berjalan sudo make install
lebih awal, GDB yang anda pasang tidak bergantung pada apa-apa dalam direktori ini, dan ruangnya dapat menjadi premium, jadi anda dapat melakukan langkah ini dan menuntut kembali 386MB atau lebih. PENTING: jangan hapus ~/gdb_printers/
direktori! Kandungan direktori ini dimuat setiap kali anda menjalankan GDB. Mereka TIDAK disusun ke dalam GDB sendiri.
cd ~/
rm -rf sourceInstallations
--- Again, if you can spare the space, you may someday be happy to have left it there.
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.
CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?
Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.
Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut