#include<iostream>
using namespace std;
int main(){
int num[10];
for(int i = 0; i < 10; i++){
cin >> num[i];
}
for(int i = 9; i >= 0; i++){
cout << num[i] << endl;
}
return 0;
}
//很明显在第二个for循环会出现段错误,但当我们不知道具体哪个位置出现段错误时该怎么找到段错误具体位置呢
安装gdb调试工具
sudo apt-get install gdb
编译文件时用-g选项生成可调试的可执行文件
g++ -g 0.practice.cpp
通过gdb调试可执行文件./a.out(即编译源文件生成的可执行文件名)
gdb ./a.out
r–>输入–>输入完回车
提示segment fault在文件第10行左右,段错误的位置就在这附近
如果是cmake管理工程,则添加:
add_definitions("-Wall -g")