VS2008でデバッガビジュアライザーを作成しました。同じ.dllに私が作成した2つのクラスがあります:-
- BinaryDataDebuggerVisualizer
- ImageDebuggerVisualizer
画像1は正常に機能しますが(たとえば、虫眼鏡はデバッグモードで表示されます)、byte []画像(BinaryDataDV)では機能しません。私のビジュアライザーは、バイナリデータをモーダルウィンドウに画像として表示します(データが正当な画像の場合)。リリースモードでコードにコンパイルしてから、.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
次に、デバッグ中にコードを一時停止したときに、その行で(ブレークポイントを使用して)変数にカーソルを合わせます。
砂時計なし:(
誰かが何が悪いのかについて何か考えがありますか?