当前位置:  开发笔记 > 编程语言 > 正文

你如何在c ++中调试重度模板化的代码?

如何解决《你如何在c++中调试重度模板化的代码?》经验,为你挑选了3个好方法。

在使用C++模板元编程时,我发现很难弄清楚我的代码有什么问题.可能我不是很擅长理解错误消息,但据我所知,我不能诉诸于打印语句或断点来弄清楚发生了什么.

在尝试找出为什么没有编译的东西时,您可以提供哪些提示或建议,而不仅仅是手动选择代码并希望它来找我?



1> Michel..:

对于STL,至少有一些工具可以输出更人性化的错误消息.请访问http://www.bdsoft.com/tools/stlfilt.html

对于非STL模板,您只需了解错误的含义.在你看了十几次后,你会更容易猜到问题是什么.如果你在这里发布它们,也许有人可以帮助你搞清楚.



2> Eclipse..:

您可以尝试使用较新的编译器.如果您正在使用Visual C++ 6.0,请切换到9.0,您将看到编译器错误的有用性大幅提升.

否则,我的技术通常是尽可能地测试一小段代码,直到我发现错误被隔离.这可能是模板系统最大的失败 - 没有合理的调试方法.

在您自己的代码中,自由使用编译时断言以使使用问题更容易诊断.


格雷厄姆:一家仍然强迫员工使用VC6的公司是一家我不想在任何情况下都不想工作的公司.给你这样不恰当的工具非常清楚地表明公司并不关心你.不是一个健康的关系.

3> Mr Fooz..:

如果你正在使用gcc,我发现colorgcc可以提供一点点帮助.通过颜色编码,可以更容易地在心理上解析警告与错误和上下文信息.

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有