2014-12-23 51 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

感谢提醒,完成 –