Delphi CodeGear 2009 を使用して構築されたアプリケーションをデバッグする必要があります。このアプリケーションは、私以外の誰かによって構築されましたが、この人物はもう会社の一員ではありません。
奇妙な問題です。プロジェクトをコード ギアにロードし、実際に動作するはずのソフトウェアを実行すると、エラーが発生します。
$753CB9BC の最初のチャンス例外。例外クラス 「共有メモリ Global\{B40FBC0C-FEBD-11DD-B3EA-FC6656D89593} の作成中にエラーが発生しました (5)」というメッセージの例外。OrderCenter.exe の処理 (836268)
ステップバイステップモードでソフトウェアを実行することさえできません。実行されたアプリケーション自体に入る前に発生するようです。このエラーを修正する方法はまったくわかりません。コードを見て理解して変更することはできますが、Google のドキュメントなしでそのようなエラーを修正する方法はまったくわかりません。あらゆる種類のキーワードの組み合わせを試してしばらくグーグルとSOを閲覧してみましたが、何も出てきません。
これをデバッグするにはどうすればよいですか? どこから探し始めますか?
編集#1
明確にするために、アプリケーションに入る前に例外が発生し、デバッグすることさえできません。スタック トレースをできるだけ早く貼り付けて、クラッシュしている場所を誰もが確認できるようにします。最初にこれを考えていなかったことをお詫びします。
Google で正確なエラー メッセージを検索しましたが、有用なものは見つかりませんでした。いくつかの例を次に示します。
http://www.google.ca/#hl=fr&output=search&sclient=psy-ab&q=エラー+作成+共有+メモリ&oq=エラー+作成+共有+メモリ
編集#2
ある種の初期化手順があったことを特定するために時間を割いてくれた人に感謝します。私はすべてのファイルを検索し、その手順を見つけて、コードがここでクラッシュしていることを発見しました:
if not AlreadyRunning(ProcessName, TFormMain, False, False, True) then
このコードの宣言を調べてみると、二重の初期化を防ぐために、おそらくある種の Mutex であるグローバル共有メモリ オブジェクトを実際に作成しようとしているようです。
私の最初の推測では、ユーザーが 2 つ以上の同じアプリケーションを実行できるようになったことを除けば、コードのこの部分を直接の影響なしに捨てることができるでしょう。
余談ですが、そもそもなぜこれが失敗するのだろうか(Win7、管理者アカウント)?
PS:最初にエラーが発生した場所を見つけることができなかった理由は、アプリケーションがデバッグ モードではなくリリース モードであったためです。ファイルのビルド構成の下でエラーに気付くまでに時間がかかり、詳細な UI 検索が必要でした。マネジャー。アプリの初期化部分にブレークポイントを配置しようとするまで、私がリリースモードにあったことを示すものは何もありませんでした...