Cách cài đặt GDB trên CentOS 6

Cách cài đặt GDB trên CentOS 6

GDB là trình gỡ lỗi cho C, C ++, Objective-C, Pascal, Fortran, Go, D, OpenCL C, Ada và Modula-2.

CentOS dựa trên RHEL (Red Hat Enterprise Linux). Một trong những mục tiêu chính của RHEL là trở thành một hệ điều hành máy chủ ổn định, nghĩa là các phiên bản mới hơn của các gói phần mềm không phải lúc nào cũng có sẵn.

Tại thời điểm viết bài, CentOS 6 cung cấp GDB v7.2. Nhóm GDB, tuy nhiên, gần đây đã phát hành mã cho v7.91.

Chính thức đề xuất chạy một bản phân phối Linux khác để sử dụng phiên bản GDB mới hơn. Điều này không phải lúc nào cũng lý tưởng. May mắn thay, có thể cài đặt các phiên bản GDB mới hơn trên CentOS 6. Vì GDB là trình gỡ lỗi chứ không phải là thành phần cốt lõi của hệ thống, nên bạn khá an toàn khi sử dụng phiên bản mới hơn.

Bài viết này giải thích cách cài đặt cả phiên bản GDB được hỗ trợ và không được hỗ trợ trên CentOS 6.

Tôi cũng sẽ giải thích cách thiết lập GDB để cung cấp cho bạn thông tin gỡ lỗi dễ đọc hơn khi sử dụng Thư viện chuẩn C ++ (như chuỗi) và Thư viện mẫu chuẩn (như vectơ). Tính năng này được gọi là in ấn đẹp.

Đăng nhập vào VPS của bạn và thiết lập tài khoản người dùng của bạn

  1. Đăng nhập vào VPS của bạn. Điều này có thể được thực hiện bằng cách nhấp vào "Xem Bảng điều khiển" trong bảng điều khiển Vultr hoặc với ứng dụng khách SSH.

    (a) Đăng nhập bằng root.

    (b) Tạo tài khoản người dùng của riêng bạn. Đặt mật khẩu.

    adduser <username>
    passwd <username>
    

    (c) Cấp quyền truy cập sudo cho người dùng.

    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) Đăng xuất bằng root, sau đó đăng nhập lại bằng tài khoản người dùng của bạn. An toàn hơn nhiều khi không bao giờ thực sự đăng nhập bằng root. Sử dụng sudo là một thực hành tốt hơn.

Nếu bạn muốn cài đặt phiên bản GDB được hỗ trợ chính thức (cũ hơn)

  1. Cài đặt GDB.

    sudo yum install gdb
    
  2. Kiểm tra phiên bản đã cài đặt và xem vị trí của nó.

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

Nếu bạn muốn cài đặt phiên bản GDB mới hơn từ nguồn

  1. Cài đặt trình biên dịch C, chẳng hạn như GCC. Trình biên dịch C ++ không cần thiết để xây dựng GDB từ nguồn, nhưng cần thiết để thể hiện tính năng in đẹp của GDB. Bạn có thể xây dựng một phiên bản GCC mới hơn từ nguồn bằng cách thực hiện các bước trong bài viết Cách cài đặt GCC trên CentOS 6 . Hoặc, bạn có thể cài đặt phiên bản GCC được hỗ trợ chính thức của CentOS 6 bằng cách chạy:

    sudo yum install gcc gcc-c++
    
  2. Cài đặt thêm các gói yêu cầu.

    sudo yum install wget tar gzip ncurses-devel texinfo svn python-devel
    
  3. Quyết định phiên bản GDB nào bạn muốn xây dựng từ nguồn. Truy cập trang web GDB FTP để xem các phiên bản có sẵn để tải xuống.

  4. Lấy nguồn của phiên bản GDB mà bạn muốn. Phần còn lại của bài viết này được viết cho v7.9.1 và sẽ tải xuống các nguồn vào ~/sourceInstallations/gdb-7.9.1/- bạn sẽ phải thay thế số phiên bản phù hợp cho các phiên bản mới hơn.

    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. Xây dựng GDB. Nếu điều này hoàn thành chính xác, dòng cuối cùng bạn sẽ thấy sẽ nói "thành công". Việc nhìn thấy một số thông báo tìm lỗi nhanh chóng là điều bình thường. Đây là an toàn để bỏ qua.

    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. Cài đặt C ++ in ấn đẹp.

    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. Kiểm tra phiên bản đã cài đặt và vị trí của nó.

    gdb --version
        May say: GNU gdb (GDB) 7.9.1
    which gdb
        /usr/local/bin/gdb
    
  8. Tùy chọn chạy GDB và thấy in ấn đẹp.

    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. Tùy chọn lấy lại dung lượng ổ cứng. Thư mục của bạn ~/sourceInstallationssẽ chiếm khoảng 386MB. Có thể là khôn ngoan để giữ các thư mục, vì có một số tùy chọn cấu hình tùy chọn mà bạn có thể cần sử dụng tại một thời điểm nào đó trong tương lai, và sẽ nhanh hơn nếu có nhiều việc đã được thực hiện. Ngoài ra, quá trình xây dựng tạo ra các bản ghi mà sau này bạn có thể kiểm tra và làm việc nếu có sự cố. Nhưng, sau khi chạy sudo make installtrước đó, GDB đã cài đặt của bạn không phụ thuộc vào bất cứ thứ gì trong thư mục này và không gian có thể ở mức cao hơn, vì vậy bạn có thể thực hiện bước này và lấy lại 386MB hoặc hơn. QUAN TRỌNG: không xóa ~/gdb_printers/thư mục! Nội dung của thư mục này được tải mỗi khi bạn chạy GDB. Chúng KHÔNG được biên dịch vào chính GDB.

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

Thêm hình mờ nền vào tài liệu Word của bạn

Thêm hình mờ nền vào tài liệu Word của bạn

Microsoft Word cho phép bạn thêm hình mờ vào tài liệu của mình. Hình mờ là những hình ảnh hoặc văn bản nhẹ phía sau văn bản thông thường trong tài liệu của bạn.

Tạo danh sách phân phối Outlook \ Nhóm

Tạo danh sách phân phối Outlook \ Nhóm

Outlook và nhiều ứng dụng e-mail khác có một tính năng cho phép bạn gửi e-mail đến nhiều người nhận cùng một lúc bằng cách sử dụng danh sách phân phối. Bằng cách này khi bạn gửi e-mail, bạn chỉ cần đặt tên danh sách phân phối vào hộp Tới:

5 Xu hướng thiết kế web bổ sung cho nhau

5 Xu hướng thiết kế web bổ sung cho nhau

Luôn có những thứ bổ sung cho nhau. Cho dù đó là ghép nối các loại thực phẩm, kinh nghiệm hay thậm chí là các mối quan hệ cá nhân; một số thứ chỉ hoạt động tốt hơn khi có thứ gì đó khác hỗ trợ nó. Thiết kế web không có gì khác biệt. Có một số kỹ thuật nhất định dựa vào thứ gì đó khác để nó có hiệu quả hoặc thậm chí hoạt động bình thường.

Đã xảy ra sự cố khi gửi lệnh đến lỗi chương trình trong Excel

Đã xảy ra sự cố khi gửi lệnh đến lỗi chương trình trong Excel

Nếu bạn sử dụng Excel 2007 hoặc 2010, bạn có thể gặp lỗi khi mở Excel hoặc nhấp đúp vào tệp Excel có thông báo Đã xảy ra sự cố khi Gửi lệnh tới Chương trình. Điều này có thể được gây ra bởi một vài điều khác nhau.

Favicons là gì và cách sử dụng chúng

Favicons là gì và cách sử dụng chúng

Biểu tượng yêu thích là một hình ảnh nhỏ riêng lẻ của một trang web được hiển thị bên cạnh thanh địa chỉ. Tùy thuộc vào trình duyệt, nó cũng xuất hiện trong dấu trang / dấu trang trong thanh công cụ dấu trang và thanh bảng hoặc dưới dạng lối tắt trên màn hình.

Thay đổi chủ đề Microsoft Outlook của bạn

Thay đổi chủ đề Microsoft Outlook của bạn

Nếu bạn là người dùng Outlook thì bạn có thể tạo phong cách hoặc chủ đề của riêng mình cho các thư email gửi đi của mình chỉ với một vài cú nhấp chuột.

Sử dụng Windows Photo Viewer trong Windows 10

Sử dụng Windows Photo Viewer trong Windows 10

Nếu bạn thích sử dụng Windows Photo Viewer trong Windows 7 nhưng nhận thấy rằng bạn không thể sử dụng nó trong Windows 10 thì đây là cách bạn lấy lại.

Trình giả lập tốt nhất để chơi trò chơi Nintendo DS trên máy tính của bạn

Trình giả lập tốt nhất để chơi trò chơi Nintendo DS trên máy tính của bạn

Ngày nay, hình thức chơi game phổ biến nhất liên quan đến các trò chơi cũ, cổ điển là sử dụng trình giả lập. Hôm nay chúng tôi sẽ giới thiệu cho bạn một số trình giả lập tốt nhất cho Nintendo DS chạy trên mọi máy tính. Sau đó, tất cả những gì bạn phải làm là tải xuống trình giả lập NDS và các trò chơi và bạn đã sẵn sàng chơi.

Thay đổi Phông chữ Mặc định cho Tài liệu Word Mới

Thay đổi Phông chữ Mặc định cho Tài liệu Word Mới

Nếu bạn có một phông chữ nhất định mà bạn muốn sử dụng cho tất cả các tài liệu Word của mình, có một cách để làm cho Word sử dụng phông chữ đó theo mặc định mỗi khi bạn bắt đầu một tài liệu mới. Làm theo các bước đơn giản.

3 cách để tắt tính năng nén tệp tự động trong Windows

3 cách để tắt tính năng nén tệp tự động trong Windows

Bây giờ chúng ta sẽ đi vào cách ngăn Windows tự động nén tệp của bạn, do đó bạn không cần phải lo lắng về điều này xảy ra nữa.