2015-12-02 8 views
13

Ich debugge eine Zeichenfolgenvariable in Visual Studio mit dem Text Visualizer. Es scheint jedoch, dass ein großer Teil in der Mitte der Zeichenfolge fehlt. Was ist der Grund dafür?Visual Studio Text Visualizer fehlender Text

enter image description here

+0

Langer Text wurde korrekt mit VS 2015 angezeigt, bis Update 1 installiert wurde.Der Text Visualizer funktioniert jetzt wie in der Antwort unten erklärt und so fett hat Microsoft nicht gesagt, dass sie es geändert hat oder warum. –

Antwort

17

Der Text Visualizer in Visual Studio können nur etwa 32.700 Zeichen angezeigt werden. Wenn Ihre Zeichenfolge länger ist, wird den überschüssigen Teil in der Mitte der Zeichenfolge automatisch durch ... ersetzen.

Ich fand dies auf die harte Tour.

Bearbeiten: Dies scheint in Update 2 behoben worden zu sein. Wenn Sie auf Update 1 sind, sehen Sie sich die Antwort von Diamond an.

+6

Böse Sache, sie benachrichtigen nicht einmal, dass der Text getrimmt wird. Stunden zuvor haben wir das herausgefunden. Gibt es Neuigkeiten zu diesem Thema? Wird dies als Fehler bestätigt? –

+2

Man würde denken, sie würden das Ende der Zeichenfolge anstelle der Mitte abgeschnitten ... hätte es ein wenig offensichtlicher gemacht, dass es VS war und nicht mein Webdienstanruf, der das Problem verursacht ... – jleach

+0

So dankbar dafür info ... Ich habe fast den ganzen Tag wegen dieses Problems getötet ... Visual Studio abgeschnittene XML-Dokument und ich sah nur 1 Knoten, während Code sagt, dass es 2 Knoten gibt ... Es war sehr frustrierend. – Disappointed

2

Es gibt eine Lösung here.

  1. neues Projekt Klassenbibliothek erstellen
  2. innerhalb neues Formular MessageForm mit TextBox hinzufügen, überprüfen MaxLength und mehrzeilige Eigenschaften von TextBox.
  3. hinzufügen CS-Datei mit Folowing Inhalt:
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. Build Project
  2. die DLL finden, die den Visualizer enthält, die Sie erstellt haben und kopieren Sie die DLL eine der beiden folgenden Stellen:
    • VisualStudioInstallPath \ Common7 \ Packages \ Debugger \ Visualizer
    • Eigene Dateien \ Visu alStudioVersion \ Visualizer

Wenn Sie eine verwaltete Visualizer für Remote-Debugging verwenden möchten, kopieren Sie die DLL auf dem gleichen Weg auf dem Remote-Computer. Starten Sie die Debugsitzung neu. Weitere Informationen finden Sie unter How to: Install a Visualizer.

4

Dies ist ein Problem, das mit Visual Studio 2015 Update 1 eingeführt wurde, wie hier gemeldet: https://connect.microsoft.com/VisualStudio/feedback/details/2016177/text-visualizer-misses-corrupts-text-in-long-strings.

Microsoft wird einen permanenten Fix für dieses in dem ersten Update nach Update 1 haben. Verwenden Sie in der Zwischenzeit die folgende Problemumgehung: Sie können die Länge festlegen, auf der der Text Visualizer abgeschnitten wird, indem Sie einen Registrierungsschlüssel hinzufügen. Verwenden Sie den folgenden Befehl, um die Länge auf eine größere Zahl zu setzen (zB 250000):

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

Alternativ eine frühere Version von Visual Studio verwenden, wenn Sie einen installiert haben.

+0

Nicht sicher, wann ihr nächstes Update ist, aber ab 14.0.24720.00 Update 1 ist dieser Fehler immer noch vorhanden. – jleach

+1

Hier gibt es einen Release Candidate für Update 2: https://www.visualstudio.com/en-us/news/vs2015-update2-vs.aspx. Es kann eine Lösung für das Problem enthalten. Kommt darauf an was sonst noch kaputt geht ... –

+0

Cool - es hat mit dem Update 2 als Diamond beschrieben !!! –

Verwandte Themen