你代碼也沒有,調(diào)用堆棧也沒有,誰能知道為啥段錯(cuò)誤啊,要不然你猜我今天穿什么顏色的衣服?
我們提供的服務(wù)有:網(wǎng)站制作、成都網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、汪清ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的汪清網(wǎng)站制作公司
大神也不敢說自己的代碼肯定就沒有錯(cuò)誤,我猜你的意思是能正確編譯吧?
那只能說明你的語法沒錯(cuò),僅此而已,寫程序能正確編譯只是第一步,后面調(diào)試的工作還很漫長(zhǎng)。
下面說說怎么調(diào)試吧:
看你的系統(tǒng)提示應(yīng)該還沒有打開core輸出,在運(yùn)行程序前打個(gè)命令:
ulimit
-c
unlimited
這樣設(shè)置之后再運(yùn)行程序在段錯(cuò)誤的時(shí)候能core
dump,有core之后再gdb
./test
core.xxx
core文件一般在你運(yùn)行程序的目錄里,core文件后綴每次不同,后面的xxx你需要自己看看文件名,一般是運(yùn)行時(shí)的pid號(hào)。當(dāng)然如果你的系統(tǒng)core的生成規(guī)則被改過,不是默認(rèn)的,那就問你的系統(tǒng)管理員去找到core文件。
進(jìn)去后打個(gè)bt,看下當(dāng)前的調(diào)用堆棧,然后再看下哪兒出的問題。
當(dāng)然這樣做有個(gè)前提,那就是你在編譯你的程序時(shí)加了-g參數(shù),如果沒有,重新去編譯下再運(yùn)行。
如果還是找不出來,再把你的調(diào)用堆棧和代碼發(fā)上來大家看看。
在命令行輸出區(qū),右擊,勾選顯示菜單欄就行。linux終端前面的東西消失了在命令行輸出區(qū),右擊,勾選顯示菜單欄就行。終端就是處理計(jì)算機(jī)主機(jī)輸入輸出的一套設(shè)備,它用來顯示主機(jī)運(yùn)算的輸出,并且接受主機(jī)要求的輸入,典型的終端包括顯示器鍵盤套件,打印機(jī)打字機(jī)套件等。
命令行是不會(huì)消失的!
就像社會(huì)進(jìn)步,帶來了交通方式的改變,可是最快捷、基礎(chǔ)的是我們的雙腳。
在Linux中,命令行就像我們的雙腳,最高效、最方便的交通工具,所有先進(jìn)的交通工具,不過是強(qiáng)化了我們某一方面的能力——你能因?yàn)楦邫n對(duì)交通工具,廢了自己的雙腳么?!
圖形界面,不過是對(duì)指令的形像化表達(dá)而已……而己…………