jjzjj

debugger

全部标签

c# - 我应该在 Debugger.Break 或 Debug.WriteLine 之前检查 Debugger.IsAttached 吗?

我想知道是否应该在调用其他Debug和Debugger函数之前调用if(Debugger.IsAttached)?if(Debugger.IsAttached){Debugger.Break();}对比Debugger.Break()//WithoutcheckingifDebuggerisactuallyattached 最佳答案 这取决于您调用Break()方法的原因。根据documentation:Ifnodebuggerisattached,usersareaskediftheywanttoattachadebugger.如

c# - System.Diagnostics.Debugger.Debug() 停止工作

我正在开发一个程序,该程序使用System.Diagnostics.Debugger.Break()方法允许用户从命令行设置断点。这已经运行了好几个星期了。然而,当我今天修复一个单元测试时,我尝试从命令行使用调试开关,但它没有用。这是我尝试过的:我已经确认确实调用了Debug()方法(通过在它后面放置一个System.Console.WriteLine())我已确认构建仍在调试中我已经完成了一个干净的构建我已重新启动ProductStudioGoogle快速搜索没有显示任何内容,.Net的API文档也没有提及此功能未正确执行的任何内容。那么...有什么想法吗?

c# - 在 watch/debugger 中查看 LINQ 查询的结果

有没有一种方法可以在VisualStudio2010中查看LINQ查询的结果?如果您将查询添加为监视表达式,它将显示“表达式不能包含lambda表达式”。在一些测试代码中,我汇总了一些child的一堆指标的总和,并将总和与他们parent的相同指标的值进行比较(深层嵌套if-else)。我所有的查询都在if语句中。如何在不将结果分配给局部变量的情况下查看这些值?分配使我的行数加倍,除了调试之外没有任何好处。有没有人有变通方法来在调试器中查看LINQ查询的结果? 最佳答案 您目前不能在VisualStudio的监视列表中使用lambd

c# - 为什么 Visual Studio Debugger 不枚举 BitArray 并显示结果?

对于下面这行C#代码:BitArraybitty=newBitArray(new[]{false,false,true,false});如果我在Watch窗口中计算“bitty”,我看不到集合的成员。如果我计算应该枚举IEnumerable并显示结果的“bitty,results”,我会收到消息“只有Enumerable类型可以有结果View”,即使BitArray是一个IEnumerable。调试器为什么要这样做?澄清:我问的是VS调试器表达式计算器内部发生了什么,而不是问如何在调试器中查看BitArray.. 最佳答案 结果Vi

c# - Debugger.Launch 不工作

我目前正在尝试为在外部(而不是从visualstudio中)启动的进程启动调试器。我似乎无法真正启动调试器,因为它似乎什么也没发生。在此过程中,我添加了这段代码:Debug.Assert(Debugger.IsAttached==false,"Shouldbenodebugger");if(!Debugger.IsAttached){Debug.Assert(Debugger.Launch(),"Debuggernotlaunched");}Debugger.Break();Debug.Assert(Debugger.IsAttached==true,"Debuggershouldbe

c# - "The debugger cannot continue running the process."

我一直在搞乱VS2010调试设置,试图让.NETFramework正常工作。好吧,我无法让它工作。我也尝试过ReflectorVS插件,它曾一度有效。然后我随机开始收到这个错误:当我在调用IEnumerable.ToList()的行上设置断点时,这仅发生.如果我尝试单步跳过或单步进入我设置断点的那一行,我会收到此错误对话框并且我的调试session结束。如果我将断点移动到下面的行,调试器会使其通过ToList()打电话!我试过以下方法都无济于事:删除Reflector插件。在“工具”>“选项”>“调试”窗口中撤消我的更改(取消选中进入.NETFramework的选项;取消选中源服务器选

c# - 有人知道输出 "Module is optimized and the debugger option ' Just My Code' is Enabled”吗?

正如我在previous问题中所说,我正在将我的应用程序迁移到WindowsMetro应用程序。我得到这样的输出我不明白这个输出,如果有人知道请告诉我! 最佳答案 通常,您不需要模块加载消息,但默认情况下它们是打开的。工具->选项->调试->输出窗口->模块加载消息->关闭 关于c#-有人知道输出"Moduleisoptimizedandthedebuggeroption'JustMyCode'isEnabled”吗?,我们在StackOverflow上找到一个类似的问题:

c# - 无法使用 VS Debugger Interop 执行语句

我正在编写一个调试器扩展VSPackage,我想在遇到断点时在调试进程中执行一条语句。在我的扩展代码中,我有这个:voidInitialize(){//...standardvspackageinitcodeomitted...Globals.Init((DTE2)GetService(typeof(DTE)));Globals.DebuggerEvents.OnEnterBreakMode+=(dbgEventReasonreason,refdbgExecutionActionaction)=>{try{vare1=Globals.Application.Debugger.GetEx

c# - Visual Studio : Make debugger aware that a function doesn't cause "side effects"

我有一个对象,我必须通过监window口多次监视函数输出。问题是我每次执行步骤时都必须按刷新按钮,因为“此表达式会产生副作用,不会被计算”。有什么方法可以用[DoesNotCauseSideEffects]之类的东西标记一个函数,以便watch可以在我每次迈出一步时自动评估它吗?我在VS2008或2010中编写C#。编辑:该函数看起来像这样,并且如您所见,不会引起任何副作用。(x、y、z都是double)publicoverridestringToString(){return"{"+x.ToString(".00")+","+y.ToString(".00")+","+z.ToStr

c# - IsDebuggingEnabled 和 Debugger.IsAttached 之间有什么区别

System.Web.HttpContext.Current.IsDebuggingEnabled和System.Diagnostics.Debugger.IsAttached之间有什么区别吗?如果是这样,除了一个仅适用于Web应用程序而另一个适用于所有类型的项目之外,具体的区别是什么? 最佳答案 HttpContext.IsDebuggingEnabled关于web.config中的编译设置。Debugger.IsAttached定义是否实际上有一个事件的调试器在监听来自Web服务器的信息。请参阅DotnetPerls中的解释关于