アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。
今、VC++でATLのCOMプログラムをしていますが、
デバッグ方法がわかりません。コンパイルして、実行は、.htmファイルを開くため、C言語などのようにprintf()などで値を見たり、デバッガなどが起動してもブレイクポイントが?になります。

そこで少し調べたところ、MSDNに記載されていました。
http://msdn2.microsoft.com/ja-jp/library/ya4xb00 …

Visual StudioでのCOMコンポーネントのデバッグ設定方法についてです。
の手順3.eのCOMコンポーネントノードとはどれをさすのでしょうか?
COM+アプリケーションふぉるだを開くと
COM+ Explorer
COM+ QC Dead LetterQueue Listener
COM+ Utilities
などがあります。

よろしくお願いいたします。

A 回答 (2件)

>DebugBreak()は、ブレイクポイントと同様だったような気がします。


強制的に例外を起こして実行中のプログラムを止める為、アドレスが確定しており、?にはならなくなります。

>ATLプロジェクトをビルドして実行すると、InternetExplorerが立ち>上げりますが結果とは関係のないデフォルトのHPにリンクしています。
これはアプリケーション固有の仕様でしょうか?
COMなので、他のアプリケーションから利用されると思いますが、ダミーのプロジェクトを作って、そこからタイプライブラリを使って読み込めば静的にリンクするのではないのでしたっけ?
 もし動的にリンクしていれば、COMコンポーネントプロジェクトのプロパティのデバッグ欄に、実行するメインのアプリケーションを記述していますか?

>printf()などの出力関数を挿入してその値などを見たい場合や、
ファイルにログを吐き出すのではダメなのですか?

>ある関数の返り値がエラーの場合のエラー処理などの関数など
>教えていただけたら、大変助かります。
 関数により、処理により、プロジェクトの方針により、エラー時の対応は変わってきますので、具体的でないと回答はしにくいと思います。
    • good
    • 0
この回答へのお礼

ありがとうござます。
メッセージの出力方法わかりました。
また、コントロールの出力を.htmファイルで確認することでOKのようです。
ありがとうございました。

お礼日時:2006/11/24 15:04

COMはやったことないのですが、以前DLLをデバッグする際、デバッグしたい箇所にDebugBreak()という関数呼び出しを挿入し、実行時に故意に例外を起こさせて[再試行]ボタン押下後、Shift+F11 を数回押下して、DebugBreak()を書いた位置まで辿り着いてました。

この時にはブレイクポイントもはれましたよ。
この方法は使えないでしょうか?

この回答への補足

DebugBreak()は、ブレイクポイントと同様だったような気がします。
ATLプロジェクトをビルドして実行すると、InternetExplorerが立ち上げりますが結果とは関係のないデフォルトのHPにリンクしています。

printf()などの出力関数を挿入してその値などを見たい場合や、
ある関数の返り値がエラーの場合のエラー処理などの関数など
教えていただけたら、大変助かります。

よろしくお願い致します。

補足日時:2006/11/21 18:34
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!