草庐IT

DEBUGGING

全部标签

c# - 我如何允许在 VS2010 中中断 'System.NullReferenceException'?

我有一个VS2010C#.NET4项目。问题是程序在调试期间不会因“NullReferenceException”错误而中断。输出窗口将显示以下内容:myProgram.exe中发生类型为“System.NullReferenceException”的第一次机会异常...但是调试器将退出该函数并继续运行程序的其余部分。如何更改此行为,以便调试器在遇到这些异常时中断? 最佳答案 转到调试->异常->搜索NullReferenceException并选中“抛出”复选框。 关于c#-我如何允许

c# - 为什么 Visual Studio 无法在这个简单的 C# 属性上设置条件断点?

在我的C#对象中,我在该属性的setter中设置了条件断点value=="Status"。通常它用PostSharp方面装饰,但在这种情况下我已经注释掉了它,它仍然有问题。publicvirtualstringName{get{return_name;}set{_name=value;//breakpointhere}}第一次执行到断点,VS报错:编辑-为了便于搜索,消息是这样的:Thefollowingbreakpointcannotbeset:At(file).cs,line137character17('(class).Name',line12),when'value=="Sta

c# - 轻量级独立 C# 调试器

我一直在Internet和StackOverflow上搜索有关一些轻量级.NET调试器的一些建议,但到目前为止我还没有找到很多运气。有些文章/帖子要么已经过时,要么不完全符合我的需要。我特别想要的是一个非常轻量级的.NET调试器,我可以将其包装到我的应用程序中,我可以在其中为管理员/开发人员创建“Debug模式”。由于此应用程序非常特定于数据和它运行的环境,并且还具有一些脚本功能,因此允许用户调试他们的脚本以及在某些情况下调试底层引擎的能力将非常有用。简而言之,要求是:轻量级,允许用户设置自定义断点,最后,允许用户逐步执行代码我可以使用标准的VisualStudio调试器,并使用Deb

c# - Visual Studio 2010 调试器中的上下文变量

对于面向.NET4.0的C#控制台应用程序,我遇到了一个非常奇怪的问题,即局部变量在VisualStudio2010调试器中脱离了上下文。我在SO上搜索了其他类似的问题,但虽然有些问题具有相同的症状,但似乎没有一个直接适用于此问题(它们似乎都有其他根本原因)。问题是对于某些变量(但不是全部)我没有得到带有它们值的工具提示,它们没有出现在本地窗口中,并且我得到“当前上下文中不存在名称‘xyz’"如果我​​将它们添加到Watch窗口。它似乎影响某些变量但不影响其他变量,而且我无法找出一种模式(它似乎不基于成员与本地、类与结构或任何其他区别因素)。我重新启动了我的计算机和VisualStud

c# - 这段代码怎么可能: "ArgumentOutOfRangeException: startIndex cannot be larger than length of string"?

我的C#代码中有以下方法://////Removesthefirst(leftmost)occurenceofafroma.//////Thestringtoremovethefrom.Cannotbenull.///Thesubstringtolookforandremovefromthe.Cannotbenull.//////Therestofthe,afterthefirst(leftmost)occurenceoftheinit(ifany)hasbeenremoved.////////////Ifthedoesnotoccurwithinthe,theisreturnedin

c# - 为什么调试器的断点条件允许赋值语句作为 bool 条件?

这非常危险,所以我想知道为什么允许这样做。由于我经常需要在VB.NET和C#之间切换,我有时会添加如下断点条件:foo="bah"如果string变量foo是"bah,我想停止,所以正确的方法是使用foo=="bah"而不是foo="bah"。但它“有效”。您不会在编译或运行时收到任何警告或错误。但实际上这修改变量foo,即使它有不同的值,它也总是"bah"。由于这种情况悄无声息地发生(断点永远不会命中),因此非常危险。为什么允许?我的推理错误在哪里(除了混淆C#和VB.NET语法之外)?在C#中(相对于VB.NET)一个assignmentstatement返回分配的值,因此在本例中

c# - 防止 DebuggerStepThroughAttribute 应用于我的非 xsd 生成的分部类?

我使用xsd.exe工具根据我的xml模式生成了一个类。它使用DebuggerStepThroughAttribute创建了一个公共(public)分部类。嗯,我为这个类创建了另一个部分类文件来编写我的自定义代码,并希望能够单步执行我编写的这段代码,但调试器似乎正在将单步执行属性应用于my部分类也是如此。有没有一种简单的方法可以让我在每次重新生成部分类时无需手动删除属性而单步执行我的代码? 最佳答案 您可以在“工具”->“选项”->“调试器”->“常规”下让调试器忽略此属性。取消选中“仅启用我的代码(仅限托管)”。您也可以只使用部分

c# - 在对象内部以 Debug模式搜索

调试C#应用程序时是否可以在对象内部搜索值和/或其他字段?我正在寻找可以在多个级别下钻对象的深度搜索。我正在寻找的是一种在非常复杂的对象(调试时,例如在“快速监视”窗口中)内部进行搜索(如F3用于文档搜索)的方法。 最佳答案 你可以使用OzCode(VisualStudio的附加组件),它可以让您search对于您想从悬停数据提示或QuickWatch窗口中查看的成员。请参见以下屏幕截图中的示例:全面披露:我是“OzCode”的共同创建者。 关于c#-在对象内部以Debug模式搜索,我们

c# - VS2013 似乎没有正确附加 - 调试器已附加但未配置为调试此未处理的异常

在编写控制台应用程序时,我使用的是SAPDLL。尝试添加SAP对象时出现以下错误:Adebuggerisattachedtobutnotconfiguredtodebugthisunhandledexception.Todebugthisexceptiondetachthecurrentdebugger.代码:SAPbobsCOM.GeneralServiceoGeneralService=oCmpSrv.GetGeneralService("WEPPAGE");SAPbobsCOM.GeneralDataoGeneralData=(SAPbobsCOM.GeneralData)oGe

c# - 在 VS 调试器中获取方法的返回值

是否可以在VisualStudio调试器中获取方法的返回值,即使该值未分配给局部变量?例如,我正在调试以下代码:publicstringFoo(intvalueIn){if(valueIn>100)returnProxy.Bar(valueIn);elsereturn"Notenough";}因为我没有在Foo中设置任何局部变量,并且假设我没有在任何调用Foo的地方设置断点,如果我在Foo中有一个断点,有没有办法查看返回值是什么(或其他方式)?我对Autos或Intermediate窗口没有太多经验,所以我不确定这些是否是一个有效的选项。 最佳答案