【问题标题】:Ignore default libraries in debugger忽略调试器中的默认库
【发布时间】:2012-04-22 05:58:15
【问题描述】:

我希望能够告诉调试器不要深入研究 C++ 中的默认库。 (我同时使用 VS 2003 和 VS 2010,具体取决于项目。)我几乎从未从中获得任何有用的信息,而且必须逐步执行默认代码真的很乏味。

例如,当它作为函数参数传递时,我几乎不必观看将字符串文字更改为 std::string 的代码,我也不必观看该字符串随后与另一个字符串进行比较,毁坏了,或者别的什么。每次调试器开始让我陷入其中一个兔子洞时都不得不退出,这很烦人。

C# 似乎没有这个问题 - 我只在调试器中看到我自己的代码,并且不会陷入我永远不会更改的晦涩的默认库代码中,这非常接近不可读无论如何。我只是希望我也可以在 C++ 中使用它。如果确实有错误是一回事(尽管这通常不是很有用 - 最好让错误指向我的代码中导致错误发生的行)。但是在代码没有问题的情况下单步执行几乎没有用处。

【问题讨论】:

  • 没有“跨步”吗?有时进入 lib 代码很有用,如果只是检查调用中的参数是否正确。
  • 他可能指的是当你想进入一个函数时的场景,但在你到达那个函数之前,你必须通过一些默认构造函数来处理作为参数传递给该函数的任何内容。

标签: c++ visual-studio debugging


【解决方案1】:

在 Visual Studio 中:
解决方案属性->调试源文件->“不要查看这些源文件”

每当调试器将您带到您不想看到的无用位置时,您都可以将其添加到那里,它将被忽略。

【讨论】:

  • 这不是它的工作原理。当您在调试器提示处单击“取消”以查找源文件时,该列表会自动填充。抢先填写列表需要数千个文件。
  • 我注意到这里有一个“在这些路径中搜索源文件”列表,它指向一些默认的库位置。如果我删除这些,它会忽略这些库而只显示我自己的代码吗? (这会破坏其他东西吗?诚然,在某些罕见的情况下,我需要查看 lib 代码,所以我更喜欢一个简单的复选框来切换这些特殊情况,而不是必须删除这些行,然后在我需要它们时再次找到它们,每次...
  • 是的,您也可以尝试这样做,但我认为它会提示您输入库的位置,哈哈。没有把握 :)。这个问题从来没有困扰过我……只要你在这些“地方”之一,只需按 shift+F11
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-14
相关资源
最近更新 更多