Я создал визуализатор отладчика в VS2008. Я создал два класса в одном и том же .dll: -
- BinaryDataDebuggerVisualizer
- ImageDebuggerVisualizer
Изображение, которое работает нормально (например, увеличительное стекло появляется в режиме отладки), но не для байта [] (BinaryDataDV). Мой визуализатор отображает двоичные данные в виде изображения в модальном окне (если данные являются допустимым изображением). Я скомпилировал код в режиме Release, затем бросил .dll в C: \ Users \\ Documents \ Visual Studio 2008 \ Visualizers
это код, который я использовал, чтобы «определить» vis ...
с использованием
System;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
using Microsoft.VisualStudio.DebuggerVisualizers;
using Foo.DebuggerVisualizers;
[assembly: DebuggerVisualizer(
typeof (BinaryDataDebuggerVisualizer),
typeof (VisualizerObjectSource),
Target = typeof (byte[]),
Description = "Binary Data to Image Visualizer")]
namespace Foo.DebuggerVisualizers
{
public class BinaryDataDebuggerVisualizer : DialogDebuggerVisualizer
{
protected override void Show(IDialogVisualizerService windowService,
IVisualizerObjectProvider objectProvider)
{
... my code in here
}
}
}
Я провел модульное тестирование в решении визуализатора отладчика, которое запускает и тестирует код, который правильно отображает допустимые (а также недопустимые) файлы изображений. так что я верю, что код в порядке.
Когда я нахожусь в своем реальном решении, это то, что я делаю (где я ожидаю, что увеличительное стекло покажет, когда я нахожу переменную в режиме отладки).
byte[] data = File.ReadAllBytes("Chick.jpg");
затем я наведите курсор на переменную data
, когда я приостановил код во время отладки, в этой строке (используя точку останова).
Песочных часов нет: (
У кого-нибудь есть идеи, что не так?