NTLite를 사용하여 업데이트로 Windows 사용자 지정 ISO를 만드는 방법
NTLite를 사용하여 Vultr 시스템과 호환되는 Windows 사용자 지정 ISO를 만드는 방법을 단계별로 설명합니다. 최신 드라이버와 업데이트 통합을 포함한 완벽 가이드.
GDB는 C, C ++, Objective-C, Pascal, Fortran, Go, D, OpenCL C, Ada 및 Modula-2 용 디버거입니다.
CentOS는 RHEL (Red Hat Enterprise Linux)을 기반으로합니다. RHEL의 주요 목표 중 하나는 안정적인 서버 운영 체제를 유지하는 것입니다. 즉, 최신 버전의 소프트웨어 패키지를 항상 사용할 수있는 것은 아닙니다.
작성 당시 CentOS 6은 GDB v7.2를 제공합니다. 그러나 GDB 팀은 최근 v7.91 용 코드를 발표했습니다.
새로운 버전의 GDB를 사용하려면 다른 Linux 배포판을 실행하는 것이 공식적으로 권장됩니다. 이것이 항상 이상적인 것은 아닙니다. 다행히도 CentOS 6에 최신 버전의 GDB를 설치할 수 있습니다. GDB는 시스템 핵심 구성 요소가 아닌 디버거이므로 최신 버전을 사용해도 안전합니다.
이 기사에서는 CentOS 6에서 지원되는 버전과 지원되지 않는 버전의 GDB를 모두 설치하는 방법에 대해 설명합니다.
또한 C ++ 표준 라이브러리 (문자열과 같은) 및 표준 템플릿 라이브러리 (벡터와 같은)를 사용할 때 읽기 쉬운 디버깅 정보를 제공하기 위해 GDB를 설정하는 방법에 대해서도 설명합니다. 이 기능을 예쁜 인쇄라고합니다.
VPS에 로그인하십시오. Vultr 제어판에서 "View Console"을 클릭하거나 SSH 클라이언트를 사용하여 수행 할 수 있습니다.
(a) 루트로 로그인하십시오.
(b) 자신의 사용자 계정을 만듭니다. 비밀번호를 설정하십시오.
adduser <username>
passwd <username>
(c) 사용자에게 sudo 액세스 권한을 부여하십시오.
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) 루트로 로그 아웃 한 후 사용자 계정으로 다시 로그인하십시오. 실제로 루트로 로그인하지 않는 것이 훨씬 안전합니다. sudo를 사용하는 것이 더 좋습니다.
GDB를 설치하십시오.
sudo yum install gdb
설치된 버전을 확인하고 해당 위치를 확인하십시오.
gdb --version
May say: GNU gdb (GDB) Red Hat Enterprise Linux (7.2-75.el6)
which gdb
/usr/bin/gdb
GCC와 같은 C 컴파일러를 설치하십시오. C ++ 컴파일러는 소스에서 GDB를 빌드하는 데 필요하지 않지만 GDB의 예쁜 인쇄 기능을 보여주기 위해 필요합니다. CentOS 6에 GCC를 설치하는 방법 문서의 단계를 수행하여 소스에서 최신 버전의 GCC를 빌드 할 수 있습니다 . 또는 다음을 실행하여 CentOS 6 공식적으로 지원되는 GCC 버전을 설치할 수 있습니다.
sudo yum install gcc gcc-c++
추가로 필요한 패키지를 설치하십시오.
sudo yum install wget tar gzip ncurses-devel texinfo svn python-devel
소스에서 빌드하려는 GDB 버전을 결정하십시오. 다운로드 할 수있는 버전을 보려면 GDB FTP 사이트 를 방문 하십시오.
원하는 GDB 버전의 소스를 얻으십시오. 이 기사의 나머지 부분은 v7.9.1 용으로 작성되었으며 소스를 다운로드 ~/sourceInstallations/gdb-7.9.1/할 것입니다. 최신 버전의 경우 올바른 버전 번호로 대체해야합니다.
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
GDB를 빌드하십시오. 이 작업이 올바르게 완료되면 마지막 줄에 "성공"이라고 표시됩니다. 오류가 발생하는 일부 메시지가 빠르게 스크롤되는 것이 일반적입니다. 이것들은 무시해도 안전합니다.
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
C ++ 예쁜 인쇄를 설치하십시오.
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.
설치된 버전과 위치를 확인하십시오.
gdb --version
May say: GNU gdb (GDB) 7.9.1
which gdb
/usr/local/bin/gdb
선택적으로 GDB를 실행하고 예쁜 인쇄를 봅니다.
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.
선택적으로 하드 드라이브 공간을 확보하십시오. 귀하의 ~/sourceInstallations디렉토리는 386메가바이트 주위를 차지한다. 나중에 어느 시점에서 사용해야 할 선택적 구성 옵션이 있으므로 디렉토리를 유지하는 것이 좋습니다. 이미 많은 작업을 수행하는 것이 더 빠를 것입니다. 또한 빌드 프로세스는 문제가 발생하면 나중에 확인하고 작업 할 수있는 로그를 만듭니다. 그러나 sudo make install이전에 실행 한 후에 는 설치된 GDB가이 디렉토리의 내용에 의존하지 않으므로 공간이 부족할 수 있으므로이 단계를 수행하여 386MB 정도를 회수 할 수 있습니다. 중요 :~/gdb_printers/ 디렉토리를 삭제하지 마십시오 ! 이 디렉토리의 내용은 GDB를 실행할 때마다로드됩니다. 그것들은 GDB 자체로 컴파일되지 않았습니다.
cd ~/
rm -rf sourceInstallations
--- Again, if you can spare the space, you may someday be happy to have left it there.
NTLite를 사용하여 Vultr 시스템과 호환되는 Windows 사용자 지정 ISO를 만드는 방법을 단계별로 설명합니다. 최신 드라이버와 업데이트 통합을 포함한 완벽 가이드.
Vultr BGP 설정을 위한 단계별 튜토리얼. ASN 할당부터 IP 라우팅 구성, BIRD 데몬 설정, FreeBSD 특이사항 및 실전 문제 해결 팁 7가지 포함한 최종 가이드
WebDAV (Web Distributed Authoring and Versioning)를 이용한 원격 파일 작성을 위한 프레임워크로, WsgiDAV 설치 및 구성 방법을 안내합니다.
Mailcow는 DoveCot, Postfix 및 기타 여러 오픈 소스 패키지를 기반으로 하는 경량 메일 서버입니다. 데비안에서 Mailcow 설치 방법을 안내합니다.
랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.
오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.
Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능
인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.
최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.
빅데이터의 13가지 상용 데이터 추출 도구