问题标签 [debuggerdisplay]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 调试器显示未按预期显示字段值
我在DebuggerDisplay
属性中使用哪种方法(DDBpp1 或 DDBpp2)并不重要。调试器下的值列始终由 {byte[2]} 填充。我期望 DDBpp1() 方法的字符串“DDBpp”或 DDBpp2() 方法的短值。该问题出现在 VS15/17 社区下。
是否可以在调试器下更改显示字段值?
c# - DebuggerDisplay 中的跨语言 DataRow 索引
我正在尝试自定义调试对象工具提示。为了实现这一点,我在 Visualizers 文件夹(如何:安装 VisualizerAssembly: DebuggerDisplay
)中有一个包含属性的库(可以将 DebuggerDisplay 属性应用于不拥有的类型吗?)。
我想看到一个 DataRow 索引,所以我在 vb.net
或在 C# 中
问题是表达式是在调试时评估的,并且对象自引用 ( Me
x this
) 在两种语言中是不同的。所以我得到
在我调试 c# 代码时的工具提示中。
有没有办法使用两种语言共有的语法来获取 DataRow 的索引?
c# - 如何使 DebuggerDisplay 适用于 Dictionary 中的复合类型?
为了愉快地显示 aDictionary
的内容,我写了这个:
我本来希望在调试器中看到这个:
但相反,我看到了这个:
值得注意的是,如果我扩展KeyValuePair
s,我确实看到:
所以DebuggerDisplay
确实有效。
那么问题是如何在字典内容的主监视列表中显示复合类型的内容?
c# - DebuggerDisplayAttribute 在 VS 2017 中无效
似乎DebuggerDisplayAttribute
在带有 Resharper 2018.2.3 的 Visual Studio 2017 (15.9.4) 中没有任何效果。
- 将属性放在 AssemblyInfo.cs 或 Program.cs 中没有明显的效果。
- 我的目标是 .Net Framework 4.7.2。更改框架版本也没有明显的效果。
- 我已经验证在工具 -> 选项 -> 调试 -> 常规中未选中“在变量窗口中显示对象的原始结构”。我什至检查了它,关闭了 VS,重新打开了 VS,然后取消了检查,只是为了确定。没有效果。
- 将属性放在自定义类上确实会产生效果。似乎该属性仅在程序集级别被忽略。
- 这在 VS 2015 中按预期工作(使用相同版本的 Resharper)。
- 以安全模式(使用)启动 VS 2017
devenv.exe /safemode
无效。 - 更新 VS 15.9.4 -> 15.9.7 无效。
这是一个非常基本的控制台应用程序。尽管有属性,但dt
变量显示{2/14/2019 10:35:38 AM}
在我的监视窗口中。
如果我使用 ILSpy 反编译我的控制台应用程序,我可以看到应用了以下属性:
为什么属性不做任何事情?我什至如何开始调试呢?
编辑:按要求完成源文件。
ConsoleApp1.csproj
应用程序配置:
装配信息.cs: