コンソールアプリケーションのデバッグ環境について – プログラミング – Home

コンソールアプリケーションのデバッグ環...
 
通知
すべてクリア

[解決済] コンソールアプリケーションのデバッグ環境について


よしもり
 よしもり
(@よしもり)
ゲスト
結合: 20年前
投稿: 3
Topic starter  

はじめまして。
初歩的なことだと思いますが、コンソールアプリケーションのデバッグ環境に関して、
教えていただけないでしょうか。

現在、VCを使い、自分で使用するためにCAD用のコンソールアプリケーションを作っ
ております。
CAD用のアプリケーションを起動する時に、CAD用のDLLのロードとCAD本体の
APIにアクセスするため、バッチファイルで環境変数を幾つか設定してやらなければい
けないのです。(プログラムの内容は非常に単純です)

そこで質問ですが、VSのデバッガでデバッグする時に、バッチファイルで設定すると同
様の環境変数をデバッガ上で一時的に設定し、アプリケーションのデバッグを行うという
ことは可能でしょうか。

ちなみに、今はバッチファイルで設定する環境変数をPCに設定し、デバッグを行ってお
ります。

そのほかには、まだ試しておりませんが、_putenv関数で環境変数を設定し、_execl系の
関数でデバッグ対象を起動すると良いのかと思いますが、いかがなものでしょうか。

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

わたしの環境です。
WindowsXP SP2
Microsoft Visual Studio .NET 2003


引用未解決
トピックタグ
RAPT
 RAPT
(@RAPT)
ゲスト
結合: 22年前
投稿: 310
 

デバッグ時のみ、関数の先頭に、system()関数を使用して、環境変数を
設定する処理を埋め込むと言うのはいかがでしょうか。

int main()
{
#ifdef _DEBUG
  system(set hoge=HOGE);
#endif
  //以下普通の処理
}


返信引用
よしもり
 よしもり
(@よしもり)
ゲスト
結合: 20年前
投稿: 3
Topic starter  

RAPTさん回答ありがとうございました。

提示していただいた方法を試してみましたが、うまくいきませんでした。

system()関数にたどり着く以前に、といいますか、デバッグターゲットのアプリケーショ
ンをロードする時点で、動作に必要なDLLファイルのあるフォルダーにPATHが通っ
ていないとだめなようです。
実行時のエラーメッセージは「***.dll見つからなかったため、このアプリケーションを
開始できませんでした・・・・・」と出てきます。これはOSからのメッセージのようで
す。

OSに環境変数を設定しておいてから、モジュールウインドウを開いておいてデバッグを
行うと、必要はDLLファイルをロードしてから、main()関数に入っていくようです。
(プログラミングが本職ではないもので詳しいことはわかりませんが)

設定しなければいけない環境変数は、他のアプリケーションとバッティングしないと思わ
れますので、OSに設定しておくことにします。
もしバッティングするようであれば、デバッグ用のユーザーを作ってやることにします。

ありがとうございました。


返信引用
よしもり
 よしもり
(@よしもり)
ゲスト
結合: 20年前
投稿: 3
Topic starter  

解決ではありませんが、回避策がありますので、[解決]にチェックを入れさせていただき
ました。
もし他にも方法があるという方がおられましたら、お聞かせ願えればありがたいです。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました