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

如何调试使用boost而不失理智的代码?

如何解决《如何调试使用boost而不失理智的代码?》经验,为你挑选了2个好方法。

Boost是一套很棒的库,它确实提高了生产力.但调试使用它的代码是一场彻头彻尾的噩梦.当然,单步执行两万个头文件可能是一项有价值的智力练习,但是如果你需要一遍又一遍地做什么呢?

是否有开发人员友好的方式只是跳过boost部分并让调试器直接进入我的代码?

Visual Studio有一个用于.NET框架的DebuggerStepThroughAttribute.原生C++有什么类似的东西吗?



1> Andreas Magn..:

没有平台/编译器独立的方式,但我被告知你可以告诉调试器不要"进入"某些功能或类.您应该查找注册表项:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\NativeDE\StepOver]并按照规则应该应用的顺序创建一个名为数字的字符串值(我对此也有点困惑,但我猜这些规则只是在(可能是反向)中排序他们应该应用的方式)并将其设置为:"boost ::.*= NoStepInto".例如:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\NativeDE\StepOver]
"10"="boost\:\:.*=NoStepInto"

你可以在这里阅读更多内容.



2> Alastair..:

您可以使用此处描述的技术完全跳过boost命名空间.只需使用以下内容:

boost\:\:.*=NoStepInto

...在相关的注册表项中.

但是,如果你的代码是从boost中调用的(例如通过一个boost::function或类似的),那么你的代码也会被跳过!如果有人能为这个问题找到一个好的解决方案,我会感兴趣的...

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