【发布时间】:2017-09-06 11:15:26
【问题描述】:
是否可以有一个允许特定标头的构建设置 在调试版本中内联?我正在使用我在一个单独的项目中测试的信号/委托模式。我希望我的主项目在遇到断点时不要在调用堆栈中显示回调的信号/委托部分。是否可以在不优化主项目的情况下允许在仅标头库上内联函数,或者是否有其他方法可以从调用堆栈接口过滤对仅标头库的调用。
【问题讨论】:
-
没有调用堆栈信息的断点真的一文不值。调试器如何知道你真正在哪个内联函数中?如果不是真的“调用”内联函数,你怎么能在它本身中设置一个断点呢?您想通过删除调用堆栈信息来解决的实际问题是什么?你为什么要这么做?
-
我不想进入库函数,回调结构会变得相当复杂,我希望它们在调用堆栈中不可见。我想假设回调有效,因为我单独对库进行了单元测试。
-
所以你的意思是你想跳过某些函数调用?那你为什么不这样做呢?所有调试器都应具有step into 和step over 功能。我知道 Visual Studio 调试器拥有它。
-
@Someprogrammerdude 我认为 OP 想要从它传递到库的地方进入回调,跳过库的内容。例如。
Library::SomeHOF([](){ /*want to step to here*/ })上的断点, -
@Someprogrammerdude 确实如此。或者类似 VS 的运行到光标 (Ctrl F10)
标签: c++ visual-studio inlining