Visual Studio Text Visualizer缺少文本

时间:2015-12-02 22:13:24

标签: visual-studio-2015

我正在使用Text Visualizer在Visual Studio中调试字符串变量。但是,似乎字符串中间的大部分缺失。这背后的原因是什么?

enter image description here

3 个答案:

答案 0 :(得分:18)

Visual Studio中的Text Visualizer只能显示大约32,700个字符。如果您的字符串长于,它会自动使用...替换字符串中间的多余部分。

我发现了这个问题。

修改:这似乎已在Update 2中修复。如果您使用的是Update 1,请参阅Diamond的答案。

答案 1 :(得分:4)

这是Visual Studio 2015 Update 1中引入的问题,如此处所述:Ruby wrapper for the Twilio API

Microsoft将在Update 1之后的第一次更新中对此进行永久性修复。在此期间,请使用以下解决方法:您可以通过添加注册表项来设置Text Visualizer将截断的长度。使用以下命令将长度设置为更大的数字(例如250000):

reg add HKCU\Software\Microsoft\VisualStudio\14.0\Debugger /v TextVisualizerStringLimit /t REG_DWORD /d [number]

如果您安装了Visual Studio,请使用以前版本的Visual Studio。

答案 2 :(得分:2)

有一个解决方案here

  1. 创建新项目类库
  2. TextBox 中添加新表单 MessageForm ,检查 TextBox <的 MaxLength 多行属性/强>
  3. 添加带有以下内容的.cs文件:
  4. using System;
    using Microsoft.VisualStudio.DebuggerVisualizers;
    using System.Windows.Forms;    
    [assembly: System.Diagnostics.DebuggerVisualizer(
    typeof(TextVisualizer.DebuggerSide),
    typeof(VisualizerObjectSource),
    Target = typeof(String),
    Description = "My Visualizer")]
    namespace TextVisualizer
    {
        public class DebuggerSide : DialogDebuggerVisualizer
        {
            protected override void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)
            {
                var message = new MessageForm();
                ((TextBox) message.Controls.Find("textbox1",false)[0]).Text = objectProvider.GetObject().ToString();
                message.ShowDialog();
            }
        }
    }
    
    1. 构建项目
    2. 找到包含您构建的可视化工具的DLL 将DLL复制到以下任一位置:
      • VisualStudioInstallPath \ Common7 \软件包\调试\展示台
      • 我的文档\ VisualStudioVersion \ Visualizers
    3. 如果要使用托管可视化工具进行远程调试,请将DLL复制到远程计算机上的相同路径。 重启调试会话。有关详细信息,请参阅How to: Install a Visualizer.