标签: visual-studio-debugging

将DebuggerStepThrough属性添加到类

我想将DebuggerStepThrough属性添加到我的类的所有方法.是否足以加入DebuggerStepThrough课程?

c# visual-studio-debugging

20
推荐指数
1
解决办法
4708
查看次数

如何在Visual C++ 2013中跳过调试所有std命名空间?

我希望默认跳过调试所有std :: namespace C++,而不将代码窗口更改为std :: code,由Microsoft编写为xstring.这个问题类似于: 如何在步入时跳过VS 2008中的常见类?一步一步调试在MSVC++ 2010期间自动跳过STL函数.唯一的区别是他们的解决方案适用于Visual Studio 2008和2010.我自己尝试过,它适用于visual studio 2010,但我想在visual studio 2013上进行.同样的解决方案在visual studio 2013上不起作用我尝试将注册表中的所有值更改为:

_RTC_CheckEsp
Run Code Online (Sandbox Code Playgroud)

std\:\:.*=NoStepInto
Run Code Online (Sandbox Code Playgroud)

其中一些是视觉工作室12.0(视觉工作室2013)的价值,但重新启动visual studio 2013后,没有任何改变.相反,这适用于Visual Studio 2010."Just My Code"选项已打开.

c++ debugging visual-studio visual-studio-debugging visual-studio-2013

20
推荐指数
1
解决办法
3480
查看次数

VS2022:调试期间不再出现“诊断工具”窗口,无法将其恢复

我一定有笨手笨脚的东西才能将其关闭,但是当我尝试在调试模式下运行任何 C# 项目(.net 6 windows wpf,甚至只是命令行应用程序)时,我不再看到该窗口Diagnostic Tools。这是显示内存消耗和其他内容的实时图表的东西。

我一直在尝试重新启用Diagnostic Tools,但到目前为止还无法做到。我可以在调试模式下运行,其他一切看起来都正常,我可以添加断点等。可能出了什么问题?

这实在是太令人费解了!

查看文档(调试时测量性能),它说......

除非您将其关闭,否则诊断工具窗口会自动出现。要打开该窗口,请单击“调试”/“Windows”/“显示诊断工具”(或按 Ctrl + Alt + F2)。

这是我尝试过的:

  • ctrl + alt + f2 什么也没做。

  • 在 Visual Studio 中转到菜单栏:Debug/Windows,没有“显示诊断工具”项目。

显示诊断工具——不存在!

  • 当我在 Visual Studio 搜索栏中搜索时Diagnostic Tools,它为我提供了“调试”>“常规”的链接,但选项对话框中没有“调试时启用诊断工具”复选框。

VS 搜索“诊断工具” 没有“调试时启用诊断工具”选项

  • 当然,我也尝试过关闭/重新打开VS。此外,还从 VS 安装程序执行了更新并进行了“修复”。还是同样的行为。

  • 我还尝试按照此 msdn 论坛帖子的指示“重置 Windows 布局”和“重置所有设置” 。还是卡住了。

  • 根据Mohsyn的建议,查看了工具>>选项>>调试。似乎没有检查与“托管或本机兼容模式”相关的任何内容。

工具>>选项>>调试

  • 蓝壳的回答已经解决了!这是启动 Visual Studio 安装程序,单击“修改”安装,转到“单个组件”并检查“.NET 分析工具”的问题

解决方案

下一步是卸载 VS 2022 并重新安装。

diagnostics visual-studio-debugging visual-studio-2022

20
推荐指数
1
解决办法
2万
查看次数

如何在VS2010的调试会话期间抛出异常

我有一个小问题.有时当我调试应用程序时,我想在调试会话期间模拟从方法抛出的异常,但是没有办法做到这一点.我甚至无法将光标(指示当前行的黄色光标)拖动到异常块.在运行期间触发异常的唯一方法是更改​​当前代码行并编写我想要抛出的异常.这种方法并不好,因为我可能忘记在下次运行时将其更改回来.

.net c# visual-studio-2010 visual-studio visual-studio-debugging

19
推荐指数
3
解决办法
2万
查看次数

永久启用我的代码

我正在使用visual studio 2010,每次打开它时,都会禁用"工具 - >选项 - >调试下的"我的代码".有谁知道如何永久启用此功能?

如果这有任何不同,我启用了以下扩展:

.NET反射器视觉工作室扩展; NuGet包管理器; 流程模板编辑器; 生产力电动工具; specflow; WITDesigner

debugging visual-studio-2010 visual-studio-debugging

19
推荐指数
1
解决办法
2004
查看次数

如何从包中设置"中断所有异常"

我想做一个扩展,以快速切换调试器中的CLR异常.
我尝试了几种方法,但都不令人满意.

这是我已经尝试过的:

  1. ExceptionSettings.SetBreakWhenThrown(MSDN)
    这非常慢(请参阅此Connect问题).我已经尝试了在抛出异常时问题" Toggle"Break的方法."使用宏或键盘快捷方式 "并且似乎都不可靠地工作:在大多数情况下只有顶级复选框被设置,并且在调试时它实际上不会中断异常.

  2. 调用DTE.ExecuteCommand("Debug.Exceptions")显示窗口,然后在它之前调用SetWindowsHookEx(MSDN)在它出现之前拦截它(这样用户就没有闪光).这似乎是可能的,因为我能够拦截消息并得到HWND.但它似乎很hacky并且窗口不是那么容易操作(它有一些奇怪的组合SysListView32与自定义复选框和SysTreeView32).所以我将它作为最后的机会解决方案.

  3. 以某种方式获取IDebugEngine2(MSDN)托管代码并在调试会话开始时调用IDebugEngine2.SetException(MSDN).这似乎是可能的,但我在获取调试引擎时遇到问题.我尝试过在MSDN论坛IVsLoader描述的方法,但我很确定它给了我一个与调试会话无关的新实例.

    我在这里也问过这个问题:" Visual Studio:如何从VS包中获取IDebugEngine2(除了IVsLoader) ",但没有得到解决方案.

    我已经尝试使用IVsDebugger.AdviseDebugEventCallback(MSDN),并通过实施的IDebugEventCallback2(MSDN),但我总是得到nullpEngine(没有IDebugEngineCreateEvent2任何).

    我得到IDebugSessionCreateEvent2(没有文档?)并且可以从中得到IDebugSession2它,但是它的SetException调用总是给我一个HRESULT错误的参数,所以我可能会在这里遗漏一些东西(调用SetException引擎从IVsLoader给出好的,只是不起作用).

是否有其他方法比那些方法更好或者我错过了现有的方法?


更新/注意:
如果你发现这个问题,因为你想要一个更快的"打破所有异常",我已经做了一个免费扩展,你可以从Visual Studio Gallery:Exception Breaker.

.net visual-studio-2010 visual-studio visual-studio-debugging visual-studio-extensions

19
推荐指数
1
解决办法
1166
查看次数

如何在Visual Studio 2017中调试.NET 4.6框架源代码?

这是我尝试过的:

在Visual Studio 2017中创建了一个新的控制台应用程序(.NET Framework).

添加了以下代码:

static void Main(string[] args)
{
    new Dictionary<int, int>().TryGetValue(3, out int x); //I want to step into TryGetValue() (this is just an example)
}
Run Code Online (Sandbox Code Playgroud)

配置此处列出的设置:https: //blogs.msdn.microsoft.com/sburke/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code/

已确认的符号将加载到"模块"窗口中:

mscorlib.dll已加载符号.4.6.1586.0构建者:NETFXREL2

试过:"踏入(F11)"

尝试:"步入特定"| "System.Collections.Generic.Dictionary.TryGetValue"

两者都只是跨过了界限.

我尝试使用以下详细信息配置VS:http://www.symbolsource.org/Public/Home/VisualStudio

同样的结果,调试器跨越了这一行.

我在这里看了答案:https://stackoverflow.com/a/12432029/297451

但是这个版本似乎不是安全更新,搜索"site:support.microsoft.com/kb 4.6.1586.0"什么都不会产生任何结果.

我究竟做错了什么?

.net c# debug-symbols visual-studio-debugging visual-studio-2017

19
推荐指数
2
解决办法
8275
查看次数

-1.#IND000在Visual Studio调试窗口中的含义是什么?

在Visual Studio 2010监视窗口中,我发现变量的值变为-1.#IND000.这是什么意思?

visual-studio visual-studio-debugging

18
推荐指数
1
解决办法
7346
查看次数

调试异步/等待(调用堆栈)中的异常

我使用Async/Await释放我的UI-Thread并完成多线程.我遇到异常时遇到问题.在Call Stack我的异步部分与百达开始ThreadPoolWorkQue.Dipatch(),这并不能帮助我非常多.

我找到了MSDN文章Andrew Stasyuk.Async Causality Chain跟踪它,但据我了解,它不是一个随时可用的解决方案.

如果在Async/Await中使用多线程,最好/最简单的调试方法是什么?

c# stack-trace visual-studio-debugging async-await c#-5.0

18
推荐指数
1
解决办法
8389
查看次数

如何在Visual Studio 2012+中过滤输出?

Debug.WriteLn在Visual Studio 2015中检查输出中的特定内容时遇到问题.(2012和2013版也是如此.)

XCode和Eclipse都在Output窗口顶部包含一个过滤器框.我试图为Visual Studio找到类似的扩展,但我没有运气.有没有办法有类似的功能并过滤输出窗口?

visual-studio visual-studio-debugging

18
推荐指数
4
解决办法
9517
查看次数