次のようにDOSから呼び出すプログラム(ツールA)を作成しました。
void main (int iArgu, int*argb[]){
(省略)
}
「デバッグセッションの実行可能ファイル」の設定をツールBに設定しました。
(ツールBは、CreateProcessを用いて、ツールAを呼び出すだけのツールです。)
この状態でツールAをデバッグ実行すれば、ブレークポイントで処理をとめて
デバッグできると思ったのですが、、、、、
デバッグ実行したと同時に次のようなメッセージが表示されブレークポイントが
無効(白色)になってしまいました。
「1つ以上のブレークポイントが設定できませんでした。
これらのブレークポイントは無効です。実行プログラムはプログラムの始めで
停止します。」
設定が悪いのでしょうか?アドバイス宜しくお願いします。
ブレイクポイントが設定できないということは、そこで 止めることができない行の場合などで
出るエラーですよね。
ステップ実行は できますか?
ステップ実行ができない場合は、途中の変数の状態を テキストファイルに出力させてログを作成し
デバッグします。
また、サポートが重要なソフトの場合も そのような仕組みをとったりしますね。
それで、そのファイルを 送付してもらって 不具合の原因を調査したりします。
DOS環境で動くプログラムは、ステップ実行ができない。
最新のVSとかでは、ステップ実行ができない。
>>DOS環境で動くプログラムは、ステップ実行ができない。
DOS環境でもステップ実行できますが、、、、
これは
「外部から呼び出される呼び出されるDOSプログラムはステップ実行ができない」
とおっしゃっているのでしょうか?
使っているのは最新のVSではなくVisualC++6です。
再度回答宜しくお願いします。
(追記、ステップ実行が出来ない最新のVSも回答いただけると助かります。)
ソースもないし信用できないので「不適切な回答」としました。
ステップ実行を行うとAPPMODUL.CPPの_tWinMainが実行されるんですが、、、、自分が作った場所はステップ実行できませんでした。
>>ステップ実行ができない場合は、途中の変数の状態を テキストファイルに出力させてログを作成し
>>デバッグします。
とりあえず、printfで情報をだしてデバッグしたのですが、より重要度の高い
ソフトの場合はログ出力もありですね。
しかし、、、なぜブレークできないのかなぁ?
気になります。