2013-09-06 10 views
5

私はASPクラシックページで使用されているVB 6 dllをデバッグしようとしています。私は他のdllの作業を得ているが、特に私はいくつかの本当の頭痛を引き起こしている。これはCOMSVCSLib COMを参照し、デバッグ時には空です。ASP6クラシックページIIS6のVB6 DLLをデバッグするときに、私のObjectContextが空白なのはなぜですか?

... 
    Dim objContext as COMSVCLib.ObjectContext 
    Set objContext = GetObjectContext 
    ... 

コンパイルされ、ASPページから呼び出され、すべてが大丈夫です、

<% 
     dim obj 
     set obj = Server.CreateObject("page_builder.glue") 
     obj.Login 
     set obj = nothing 
    %> 

私は '誰もが' VB ASPのデバッグDCOMのあらゆる側面に追加しました。

私は罰金、それは動作しませんこの1のちょうどこの側面のデバッグ他のDLLを述べたようにIIS 6.

を使用して、64ビットマシン上で32ビットのWindows Server 2003を実行しています。 提案がありますか?

+0

私は64ビットマシン上でWindows 2008を実行していますが、IIS 7を使用して同様の問題が発生しています。 –

答えて

2

COMSVCLib.ObjectContextオブジェクトは、DCOMホスト(dllhost.exe)のオブジェクトコンテキストを表します。このコンテキストを使用すると、コンポーネントサービスでDCOMアプリケーションの構成を記述するプロパティにアクセスできます。

ただし、VB6でデバッグモードで.DLLプロジェクトを実行すると、DLLはVB6.exeプロセスによってホストされます。このプロセスには、DCOMアプリケーションが持つ種類の構成がないため、VB6.exeプロセスにはオブジェクトのコンテキスト情報が含まれていません。

したがって、GetObjectContextは何も返しません。

+0

私はそれについて何かできることはありますか? – spuppett

+0

本当にありません。コンテキストが何もないかどうかを確認し、それに応じて応答することができます。他のデバッガを使用してdllhostプロセスにアタッチすることはできますが、編集して続行するのを忘れる – GTG

関連する問題