草庐IT

DEBUGGING

全部标签

c# - 在本地计算机上调试 Windows 应用商店应用程序

我正在尝试使用本地计算机调试器调试Windows8C#Store应用程序。因此,我在InitializeComponent调用之后向MainPage构造函数添加了一些不正确的行。我尝试了导致DivideByZero或NullReferenceException的代码-结果相同。所以,我执行“开始调试”,调试器在这里中断:#ifDEBUG&&!DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTIONUnhandledException+=(sender,e)=>{if(global::System.Diagnostics.Debugger.I

c# - 我认为我的团队在 64 位编译器中发现了一个错误,其他人可以确认或告诉我为什么这是正确的吗?

我有一个关于此可能错误的简单无尘室示例。staticvoidMain(string[]args){boolMyFalse=false;if(MyFalse){thrownewException();}try{inti=0;}catch(Exceptione){Console.Write(e);}Console.Read();}如果在x64或AnyCPU中编译(当prefer32bit在VS2012中设置为false时)如果你在ifblock中放置断点,它总是会被命中。我们在VS2012、VS2010和VS2008中尝试过,它们在64位编译时都触发了ifblock,但在32位中它不会触发

c# - 如何调试Web Service?

这个问题在这里已经有了答案:HowtodebugawebserviceinaC#/.NETsolutionfromawebapplication(5个答案)关闭8年前。我正在使用visualstudio,我将asp.net应用程序作为一个项目,将Web服务作为另一个项目。我在我的asp.net应用程序中使用Web服务。我的web服务代码存在某种问题。但我无法从asp.net应用程序到web服务进行连续调试。我在应用程序和web服务中都设置了断点,但断点未在web服务中激活,它显示了我的连接错误。在本地主机上托管时如何执行此操作?

c# - Visual Studio 调试器 - 有什么方法可以通过调试器访问编译器生成的临时变量?

如果您在Reflector中检查C#代码,您会注意到特殊的编译器生成的局部变量,这些局部变量以CS$X$Y模式命名。这些变量(非正式地)记录在thisanswer中。.有没有办法通过VisualStudio中的监window口或通过VS调试器扩展API查看这些值?我专门询问有关常规VisualStudio调试器的问题,请不要回答说这可以通过windbg/sos/sosex实现——因为这不是我要找的。 最佳答案 不幸的是,C#EE无法做到这一点。这些本地人的名字确实存储在PDB中并且可用。但是,C#EE将在调试期间过滤掉所有临时值以减

c# - 可以在 DebuggerDisplay 显示的文本中使用字符串格式吗?

我想应用DebuggerDisplayAttribute来包含内存地址值。有没有办法让它以十六进制显示?[DebuggerDisplay("Foo:Addressvalueis{Address}")]classFoo{System.IntPtrm_Address=newSystem.IntPtr(43981);//SamplevalueSystem.IntPtrAddress{get{returnm_Address;}}}这将显示:Foo:Addressvalueis43981相反,我希望该值以十六进制显示,如下所示:Foo:Addressvalueis0xABCD。我知道我可以通过重

c# - 从 .NET 中的发布版本中删除代码

我一直在围绕System.Diagnostics.Debug的使用做一些性能测试,似乎在构建Release配置时,与静态类Debug相关的所有代码都被完全删除。我想知道编译器是怎么知道的。也许有一些类或配置属性允许准确指定该行为。我正在尝试创建一些我想从Release配置中完全删除的调试代码,我想知道我是否可以像Debug类那样简单地更改配置参数来删除代码。 最佳答案 您可以申请ConditionalAttribute属性,将字符串“DEBUG”用于任何方法,并且对该项目的调用将仅出现在DEBUG构建中。这与使用#ifdef方法不同

c# - Visual Studio Community 2015 调试器在带有 "Evaluation of native methods is not supported"的条件断点处结束 - 如何修复?

我有一个条件断点,条件检查字符串的值,如果为真则停止。它停止了,但随后打开一个窗口说:断点的条件无法执行...返回的错误是“评估方法System.Collections.Specialized.NameValueCollection.get_Item()调用native方法”System.Globalization.TextInfo.Internal.GetCaseInsHash().不支持在此上下文中评估native方法。'。单击“确定”在此断点处停止。我搜索了答案,但他们说启用托管兼容模式,但没有用。 最佳答案 在项目调试设置下

c# - 从生成它的应用程序中调试生成的 .NET 程序集

问题简而言之:如何调试在生成程序的调试session期间生成的代码?(见下面的代码)我面临以下问题:我想从生成代码的应用程序中调试动态生成/编译的代码。我提供了一个过于简单的例子来澄清它。这个例子不需要调试!我的真实应用程序生成了更多真正证明调试合理的行和代码,相信我:-)我想知道是否有调试方法或在HelloWorld处放置断点。进入InvokeMethod调用不起作用。也许一个解决方案涉及在调用站点对生成的程序集进行代码修改。我已经看了很多问题(例如DebugdynamicallyloadedassemblyinVisualStudio.NET),但没有一个对解决问题有帮助(如果完全

c# - 如何使 [DebuggerDisplay] 尊重继承的类或至少使用集合?

我有一个继承自List的类.它在所有方面都运行良好并且符合预期,除了一个:当我添加[DebuggerDisplay]时属性。即使查看List也有其作为[DebuggerDisplay("Count={Count}")],如果我将其复制并粘贴到我的上,我将无法直接查看我拥有的所有MagicBeans,而无需在调试时钻入base->private成员。我如何才能两全其美?IE:值列中的自定义值,VisualStudio没有对我隐藏我的魔bean? 最佳答案 您可以使用DebuggerTypeProxy获得您需要的效果属性。您需要创建一个

c# - 为什么我不能在调试器中编辑包含匿名方法的方法?

因此,每次我在方法中编写了一个lambda表达式或匿名方法,但我完全都没有正确理解,我就被迫重新编译并重新启动整个应用程序或单元测试框架,以便按顺序要解决这个问题。这非常烦人,我最终浪费的时间比我最初使用这些结构节省的时间还多。这太糟糕了,我尽可能远离它们,即使Linq和lambda是我最喜欢的C#功能之一。我想这是一个很好的技术原因,也许有人知道?此外,有人知道它是否会在VS2010中修复吗?谢谢。 最佳答案 是的,您不能这样做是有充分理由的。原因很简单,就是成本。在C#(或VB)中启用此功能的成本非常。编辑lambda函数是一类