我在使用 boost serilazation 库时遇到调试器错误。为了解决这些问题,我试图让 Visual Studio 10 跳过调试 boost 库,在阅读之后我发现这是如何实现的,但解决方案不知何故不起作用。这是注册表编辑器的图片。
从我读到的内容来看,这是执行此操作的方法,但是在 VS10 中调试时,它仍然会给我关于 boost 文件的错误。有人能看出我做错了什么吗?
编辑
发现解决方案有问题,是在 regedit 的 32 位部分,而不是我的系统所在的 64 位部分。然而,改变这个并没有解决问题。这是一张新图片。
最佳答案
这是一篇相关帖子,可以回答您的问题。 How to skip common classes in VS 2008 when stepping in?
您可以通过在注册表中输入条目来做到这一点(我知道,这很糟糕)。您正在寻找的 key 从 32 位到 64 位系统不等。对于 32 位系统,关键是
HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\NativeDE\StepOver
如果您运行的是 64 位操作系统和 32 位 Visual Studio,则关键是
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\NativeDE\StepOver
Wow6432Node key 是在 64 位系统上运行的 32 位应用程序的 key 。 (旁注:在注册表中搜索“_RTC_CheckEsp”可能会将您带到正确的位置,它是 Visual Studio 9 中的默认条目)
您应该熟悉语法,但作为示例,一个简单的条目可以是字符串值 boost::.*=NoStepInto,这将避免调试器进入 Boost。参见 http://www.cprogramming.com/debugging/visual-studio-msvc-debugging-NoStepInto.html其他一些例子。
关于c++ - 让 VS10 调试器跳转某些库有问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9310993/