- - PR -
他アプリから起動したアプリをデバッグする方法
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2009-01-21 16:59
unibonさん、ご意見有難う御座います。
(A)のソースはいじれません。 理由としましては、仮にアタッチしてデバッグしたとしても、その後デバッグ用に 実装した部分は削除しなければなりません。 そうなると、ソース変更となり再度試験を行わなければならないのです。 仮に、プリプロセッサで有効/無効が切り替えられるようにしたとしても、 そのデバッグ用の記述が会社の規約で認めてられていないので、駄目なのです。 自分でもない知恵を絞って調べている状態です。 |
|
投稿日時: 2009-01-21 18:16
unibonさんご指摘のlinkのそばにこんなのがありました。
http://msdn.microsoft.com/ja-jp/library/a329t4ed(VS.80).aspx 今手元に環境が無いので試せないのと、ハズしてたらすみませんです。 |
|
投稿日時: 2009-01-21 18:24
はずしていたら申し訳ないのですが、
(A)のプロジェクトをVS2005で起動 プロジェクトのプロパティのデバッグ欄で 「外部アプリケーションの開始」 → (B)を選択 としてみてはどうでしょう? |
|
投稿日時: 2009-01-21 18:37
タコツボさん、ご回答有難う御座います。
早速試してみました。 レジストリに実行ファイルの登録を行い、他アプリから デバッグしたいアプリが起動された時にデバッガが起動し、 デバッグできました。 これでようやく試験が出来ます。 有難う御座いました。 |
|
投稿日時: 2009-01-21 18:40
Toshiさん、ご回答有難う御座います。
Toshiさんのご意見を試す前にタコツボさんのご意見を実施して 成功しました。 有難う御座います。 |
|
投稿日時: 2009-01-21 18:55
ちょっと気になったのですが、今は debug モードでビルドして、テストしているのですね?
では、出荷するときは、debug モードで出荷するのでしょうか? もし、release モードでビルドし直して、“テストをし直さずに”出荷するおつもりでしたら、ちょっと待って下さい。 debug と release で、あなた方が作られたコードは変わりませんが、オブジェクトは変わります。最適化されたり、デバッグのための情報がなくなったりします。また、バインドされるライブラリも変わります。 過去2〜3件、debug モードでは期待通りに動くが、release モードでは期待通りにならない、という質問も有りました。 そういうことは、考慮されているでしょうか。 |
|
投稿日時: 2009-01-21 19:18
Jittaさん、ご指摘有難う御座います。
今回は、"Debug"モードで単体試験を行います。 単体試験結果がOKになりますと"release"モードでビルドします。 ここからは、結合試験を実施します。 仮に、"release"モードで実行結果に不具合が発生した場合は、 "Debug"モードには戻さずに"release"モードで解析します。 ただ、単体試験でステップ実行を行っているので解析は机上で行います。 それでも解析できない場合は、ログ出力処理を追加し単体試験をやり直して ログで解析を行います。 最終的には、結合試験("release"モード)で不具合が無くなるまで繰り返します。 結合試験が完了してからは、製品出荷試験("release"モード)があります。 ここで不具合が発生した場合は、解析、ソース修正、単体試験、結合試験をやり直して 再度、製品出荷試験を行います。 製品出荷試験をクリアして製品として出荷されます。 上記の工程で単体試験のみ"Debug"モードで行い、その後は"release"モードで 試験を行いますので、"release"モードで試験を行わない事はありません。 会社の規定が厳しいので、"Debug"モードでOKだったから"release"モードは問題ない とは行きませんのでご安心下さい。 また、単体試験はコーディング者、結合試験は結合試験グループ、製品出荷試験は 製品出荷試験グループが行いますので、あらゆる手順で実施されます。 ご指摘有難う御座います。 |
|
投稿日時: 2009-01-22 09:04
あくまで単体試験という位置付けなのであれば、
AB間の情報のやり取りの仕様の複雑さにもよりますが (というか複雑であれば尚のこと)、 テスト用のニセBをAとは別のprojectで作るべきかとも思いますが。 正規のBからしか起動されないということであれば、 異常系等のテストも充分に行えるかは疑問にも思えますし。 |