2014-12-23 64 views
0

我有一個程序,我已經用C++在linux下編寫(Ubuntu 10.10)。Netbeans v7 C++調試器錯誤

編程和調試的工作完美,直到我加入以下行代碼的那一刻:

mapfile = fopen(map_filename,"wb"); 
fwrite(map_header,1,20,mapfile);  // <-- this is the problem line 
fclose(mapfile); 

我加了這些之後,程序編譯好了,但現在調試器將無法啓動。它立即失敗並提示此消息:

Program completed, Exit code 0x177 
error while loading shared libraries: unexpected PLT reloc type 0xcc 

如果我用「fwrite」刪除該行,調試器將正常啓動。

這個問題只發生在Netbeans內部。 當我使用命令行「gdb」進行調試時,它也可以正常工作,沒有任何問題。

任何人都知道爲什麼它的發生和如何解決它?

P.S:最近開始出現這些問題,所以我想也許它必須對系統更新做些什麼,我不確定。

+0

檢查它在寫入文件之前設法打開文件,並在出現問題時報告問題。 – doctorlove

+0

doctorlove,問題是調試器甚至沒有啓動 –

+0

我沒有給予足夠的關注 - 對不起。 – doctorlove

回答

1

發現了問題:

不久前,我刪除了一些舊的C++從NetBeans中的項目。它發現netbeans(至少v7.0)記住了我放在IDE中不存在的舊項目上的所有斷點。

我通過查看調試器控制檯(Window-> Debugging-> Debugging Console)並且發現「gdb」啓動時發現它,它會嘗試從其他項目或不存在的項目中設置所有這些斷點這是在NetBeans中的錯誤,順便說一句)

解決辦法:我只是清理所有斷點(內窗口 - > Debugging->斷點),現在程序可以正常調試。

希望這可以幫助那些有類似問題的人。

+0

感謝提醒,完成 –