Я отлаживаю строковую переменную в Visual Studio с помощью Text Visualizer. Однако кажется, что большая часть в середине строки отсутствует. В чем причина этого?
Visual Visual Text Textizer отсутствует текст
Ответ 1
Текстовый визуализатор в Visual Studio может отображать только 32 700 символов. Если ваша строка длиннее этой, она автоматически заменяет лишнюю часть в середине строки на ...
Я нашел это с трудом.
Изменить: это, по-видимому, исправлено в обновлении 2. Если вы на Update 1, см. Ответ Diamond.
Ответ 2
Это проблема, связанная с обновлением Visual Studio 2015 Update 1, как описано здесь: https://connect.microsoft.com/VisualStudio/feedback/details/2016177/text-visualizer-misses-corrupts-text-in-long-strings,
Microsoft будет иметь постоянное исправление для этого в первом обновлении после обновления 1. В то же время используйте следующее обходное решение: вы можете установить длину, с которой Text Visualizer будет обрезать, добавив раздел реестра. Используйте следующую команду, чтобы установить длину на большее число (пример 250000):
reg add HKCU\Software\Microsoft\VisualStudio\14.0\Debugger/v TextVisualizerStringLimit/t REG_DWORD/d [number]
В качестве альтернативы используйте предыдущую версию Visual Studio, если она установлена.
Ответ 3
Существует решение здесь.
- Создать новую библиотеку классов проекта
- Добавьте новый Form MessageForm с TextBox внутри, проверьте свойства MaxLength и Multiline TextBox.
- Добавьте файл.cs с последующим содержимым:
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();
}
}
}
- Проект строительства
- Найдите DLL, содержащую созданный визуализатор, и скопируйте DLL в любое из следующих мест:
- VisualStudioInstallPath\Common7\Packages\Debugger\Визуализаторы
- Мои документы \VisualStudioVersion\Visualizers
Если вы хотите использовать управляемый визуализатор для удаленной отладки, скопируйте DLL на тот же путь на удаленном компьютере. Перезапустите сеанс отладки. Дополнительные сведения см. В разделе Практическое руководство. Установка визуализатора.