• ベストアンサー

実行ごとに違う場所で実行エラー

実務でC#、windows上であるモジュールのコーディングを担当しています。 実行ごとに違う場所で実行時エラーが起きて困っています。可能性として、何か実行ごとに変わるというのが 起こりえる要因がわかればご教示ください。 該当部分はほぼローカルの処理で、特に時間によって条件分岐や外部のプロセスから影響はうけません。 主な処理内容としては、一般的でない、特殊なDBアクセス(ArcGISというライブラリを使用)はありますが、ローカルに保持してそれに対するデータ処理が中心になります。

質問者が選んだベストアンサー

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7987/21354)
回答No.1

C#だけでなく、一般的に言って、「実行ごとに違う場所で エラーが起きる」場合、原因はプログラム側でなく、処理 するデータ側にあることが多いです。 要は「考慮範囲外のデータがあって、それがメモリ内の 構造に影響を与えたまま停止、次の実行時には、影響 が残ったデータで起動するために、更に別の場所から エラーが起きる」という繰り返しです。 特にレジスタなどを直接いじるプログラムだと、まず最初 にチェックすべき点だと思いますが・・・。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ステップ実行ででは出ないエラーが実行時にでる

    Visual studio.NET 2010上C#ででコーディングしています。 ステップ実行では出ないエラーが通常の実行時(Debugビルド)に出ます。 しかも、実行ごとに場所が違っていて困っています。 ステップ実行では出ないエラーが出る要因は一般的にどんなのが考えられるでしょうか? システムはWindowsフォームのボタンクリック時に、ローカル処理のみのバッチ処理に近いものですが、 ローカルに保持したDBアクセス(特殊なデータベース)があります。

  • php内でjsを実行させたい

    いつもお世話になっております。 今回、下記の事を実行しようと思って苦戦してます。 (1)DBのレコードが0の場合にelseの処理を実行 (2)else内でエラー文が入っている変数を確認する→これは単純に一文があるかを目で確認 (3)上記の変数を外部ファイルのjs側に変数を渡す (4)空でない変数かを条件分岐で確認してアラートを発生させる 悩んでいる部分は(3)の部分で中々見つからないのでどなたか教えて頂けますでしょうか。 if(省略) { (省略) } else { $title = "タイトルが未記入のままのようなままなので登録してください"; ★外部ファイルのjsを実行させる }

    • 締切済み
    • PHP
  • VBの実行時の処理の流れ(仕組み)について教えて下さい

    WindowsXp-Pro上でVB.NET2003を使用しています。VB.NET初心者です。 VB.NETはコーディング後デバッグを行いエラーがなければ実行される訳ですが、実行時の処理の流れと言うか、仕組みについてご伝授頂きたいと思います。 VB.NETにおいてはオブジェクト指向が進んでおりコーディング作業時は全体の流れを考えなくても、クラス内でのインスタンスやサブルーチン・関数ルーチン、フォームロード時の処理、モジュール内での処理等のコーディングのみを考えていれば実行できるようになっています(少なくとも今まで私が作成したプログラムはそうでした)。しかし、色々なサンプルプログラムを作っているとこれはクラスで指定した方が良い処理とかモジュールで指定した方が良いのではと思うことが多々あります。 プロジェクトやフォーム、クラス、モジュール、コンポーネントクラス、ユーザーコントロール、データフォームウィザード、継承コントロール (これらはVisualStudioの「プロジェクト」メニューをクリックした時の項目です) 等の処理の順序が判っていればもっと効率的な処理を適材適所に配置できるのではないかと思います。 これらをコーディングレベルで結構ですので機械内での処理の順序をご説明頂ければ幸いに思います。現在のところコンピュータは並列処理はできないので必ず優先順位がつくと思うのですが、未熟な為VBの全体像がつかめず処理の流れも判らずにいます。 よろしくお願い致します。

  • libstdc++.so.5にパスが通らない

    Solaris8のコンソール上でC++でコーディングしたプログラムを実行したのですが、libstdc++.so.5が見つからないというエラーが出ます。 .cshrc内で setenv LD_LIBRARY_PATH /usr/local/lib とパスを設定してあるのですが…… なお、当然ながら/usr/local/libには該当するlibstdc++.so.5が存在しています。

  • [cakePHP]外部ファイルの実行方法

    過去の質問や他サイトを参考にしても実行できなかったので、ここに質問させていただきます。 cakePHPを用いてa.ctpからb.ctpにredirectする処理の裏で別の処理を実行させるという、いわゆる非同期処理を試しています。 具体的に言うと、DBを更新する処理を書いたhoge.phpを外部ファイル実行しているものです。 その外部ファイル実行時のコマンドで悩んでいます。 「exec("php C:/hoge/hoge.php > /dev/null 2>&1")」  や 「popen('start /B cmd /c "C:/pleiades/xampp/php.exe C:/hoge/hoge.php > /dev/null 2>&1"',"r")」 などいくつか試してみたのですが実行されていません。 DB更新処理自体は、hoge.phpを単体で動かして動作確認が取れたので問題無しと考えます。 質問としては、 ・execないしpopenのコマンドの書き方はこれでいいのか。 ・そもそも外部ファイル(hoge.php)は上記のように自由な場所に置いていいのか。 となります。 どうかご教授ください。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • ファイル名を指定して、batファイルを実行したい。

    C♯、PostgresSQL環境です。 フォームのボタンを押した時、batファイルを実行したいと 考えています。 処理の内容は、DBのバックアップ・リストアです。 現在は、Process.Startを使ってバックアップ用のbatファイルを 実行していますが(処理としてはpg_dumpallをしています)、 リストア時はファイル名を指定してリストアさせたいのです。 (ファイル名を指定してリストア用batファイルを動かしたい) Process.Startの第二引数でファイル名を渡せば良いかと思ったの ですが、バッチファイルでそれを受け取って処理に入れるには どうすれば良いのでしょうか? (バッチファイルはコンソールアプリとして作ったわけではなく、 メモ帳で作成したものです) ヒントをいただけると助かります。 宜しくお願いします。

  • Windowsでのfork方法

    Windowsプログラムで、UNIXライクなマルチプロセス処理を書きたいのですが、 fork()が使えないようで、代替の方法がわかりません。 CreateProcess()というAPIはありますが、これは単に実行モジュールの呼び出し を行う関数で、UNIXのようなfork()でプロセスを分けるものでは ないようです。 子プロセス内部で、構築済みのDLLを複数ロードしたいのですが、 そのDLLはマルチスレッド対応になっていないため、 マルチスレッド処理はできません。 具体的にやりたいと思っていることをプログラム的に書くと、 およそ以下のような処理です。(UNIXでよくやる手法です) ----- 実行処理のメイン() {  int p_pid[128];  for(int i=0; i<10; i++) {   switch(pid[i]=fork()){    case 0: // 子プロセスとしての処理     子プロセスが呼び出す関数();     exit(0);    case -1:     break;    default:     break;   }  } } void 子プロセスが呼び出す関数() {  LoadLiblary() と GetProcAddress() で、DLLを動的にロードし、  DLL内のAPIを呼び出す。  DLLがマルチスレッド対応でなくても、この関数は各々が別プロセスとして  複数同時実行されるので、問題なく処理できるはず。 } ----- この処理は、Windowsでは無理なのでしょうか? もしできるなら、Windowsで用意されているランタイムライブラリかAPIを 教えていただけないでしょうか? よろしくお願いします。

  • PHPにてHTMLページ表示とは別プロセスで処理を実行したいのですが

    PHPにてHTMLページ表示とは別プロセスで処理を実行したいのですが PHPにて動的にページ生成する場合には内部の処理が全て完了して全てを読み込まなくては ページが表示されないと思うのですが、一旦ページを表示させて処理を継続して実行する ことはできないでしょうか? その処理はページの表示には関係ないのでajaxのようなページを表示後に新たに表示させると いった事は必要ありません、単にページ表示後にファイルを読み込んでDBに格納する処理を 行いたいのですが方法はないでしょうか?

    • ベストアンサー
    • PHP
  • JSPからJNIを実行しabortするとtomcatが落ちる

    自分の考え方があっているか教えてください。 tomcatを起動するとプロセスが1つ立ち上がりますが、 WEBからJSPを起動するとそのプロセスの中で動くのでしょうか? WEB画面のJSPを10枚立ち上げても1つのプロセスの中で処理される。 今回JSPからJNIを使用してCのライブラリをロードしていますが、 Cのライブラリの中で異常終了すると、tomcatのプロセス自体が落ちてしまいます。 WEBの1枚だけ異常終了するのはいいのですが、tomcat自体が落ちてしまうと影響範囲が大きいのですが、これはJSPが1つのプロセスを使い実行している為、どうしようもないのでしょうか? 通常、JAVAで異常が起きても、Exceptionを出してくれるので、プロセスが 落ちる事はないと思いますが、Cの場合、メモリを確保していない領域以外へアクセスした時など、プロセス自体が終了してしまいます。 Cの中できちんとエラーチェックをしなければいけないのは当たり前ですが、予期せぬエラーが発生した場合はもう少し影響範囲を小さくする事は 出来ないのでしょうか? 長々と申し訳ありません、なにかいい方法ありましたらアドバイスをお願いします。

    • ベストアンサー
    • Java
  • コマンド実行時の結果のリダイレクト

    お世話になっております。 【環境】 作業マシン:WINDOWS Server2008 (仮想) 開発ツール:VWD2010(VB) 使用DB:SQLServer2008R2 Webフォームにてアプリを開発しております。 ASP.NET VBでの開発の経験はおおよそ4ヶ月程です。 【質問内容】 コマンド実行し、その際プロンプトに表示される結果文字列を、 下記を参考に取得しています。 http://dobon.net/vb/dotnet/process/standardoutput.html 実行しているのは処理終了までに5分くらい掛かるexeで、 10秒毎に現在の処理進捗率を吐きます。 ですが現在はプロセスが終了するまで結果の参照ができません。 参考URL先にあります、 [プロセス名].StandardOutput.ReadToEnd この取得方法ではプロセスの終了まで待たねばなりません。 完了していないプロセスのoutput を参照するには どのようにすればよいのでしょうか。 何卒ご教授下さい。

このQ&Aのポイント
  • Nintendo Switchの有機ELでフォートナイトをする際、ELECOMのゲーミングヘッドセットを購入したが、マイクが使用できない問題が発生。
  • 音は聞こえるが、マイクが使えないため、コミュニケーションが制限される。
  • 有機ELでは、ELECOMのゲーミングヘッドセットは使用できない可能性がある。
回答を見る

専門家に質問してみよう