2009-04-29 34 views
4

私は、ライブラリをコンパイルしてDLLは、「カスタムビルドステップ」を製造した後には(Windows 2003 Serverの/ 32ビット上)のVisual Studio 2008を使用している - >「一般」のコマンドラインを実行します。regsvr32 DLLの登録例外をポストコンパイルする方法をデバッグするには?

例外を生成します。regsvr32 /秒/ C "($ TargetPathが)"

未処理のWin32の例外が[212] REGSVR32.EXEで発生しました。

これはデバッグセッションをスローアップします。デバッグセッションは非常に少ない情報しか表示しません。

コマンドウィンドウからコマンドラインからregsvr32を実行すると、例外がスローされます(ただし、末尾の数字は異なります)。

+0

でプロセスにアタッチし、それがヒットする必要があります。regsvr32必要がありますregsvr32.exeのプロセスID(プロセスID)。 – amolbk

答えて

10

デバッガでDLLを実行し、regsvr32をデバッグ対象に設定します。

DllRegisterServer関数にブレークポイントを配置すると便利です。

+0

Hehe、私はそれが明らかだろうと思った! :) – leppie

+0

@leppie::-)私にはない!私は自動デバッグセッションが同じ情報を表示すると思っていましたが、そうではありません。 –

+0

@gbjbaanbありがとう!それははるかに多くの情報を示しています...何らかの理由でDllRegisterServer関数が呼び出されないようです。 –

-1

あなたのコードは、のDllRegisterServerの実装がメッセージボックスを追加し、あなたが実行したときに例外メッセージの最後に角括弧内の数字はPIDであるその時

+0

受け入れられた答え(2009年4月に戻って!)へのコメントで述べたように、 'DllRegisterServer'は決して呼び出されていないので、あなたのソリューションはうまくいきません。 –

関連する問題