2012-08-13 24 views
8

プログラムを実行すると(間違いなく、デバッグモードでビルドされた)、「外部例外80000003」というエラーが発生します。例外80000003を取り除くには?

Win32 Exception/Access Violation Errorsによると、それはしかし、そこにIDEに設定されたブレークポイントが設定されていないと私はIDEの外でそれを実行しています0x80000003 EXCEPTION_BREAKPOINT A breakpoint was encountered.

を意味します。

はい、正しく実行可能です。私はすべてのブレークポイントを削除し、私のプロジェクトをきれいにして、それを新しく作りましたが、まだそのダイアログボックス。私も.exeを削除し、再度ビルドし、それが期待どおりに見えたのを見た。 .exeのタイムスタンプを確認しました。私はFromCreate()にメッセージボックスを追加し、それに加えて "外部例外80000003"を見ました。

私はそれをどうやって消すのですか(デバッグモードでのビルド)?


D'oh !!それは古いコードであり、私は実際にこれを1つのエラー状態でコード化していたことを忘れていました.はIDEにブレークポイントを通知します(IDEが実行されていない場合はエラーボックス)。時間を無駄にする謝罪。

+1

完全に理解できます。私は自分自身で似たようなものに噛まれています。そして私は 'exception.create(" todoはこのコードを書く ")をraiseにしておきました。 –

+0

+1ありがとう、@ warren。専門家でさえ間違っていることを知ってもらえますか;-) – Mawg

答えて

7

ブレークポイントは、本質的に、CPU処理を一時停止させ、例外タイプの信号を発生させるマシンレベル命令(opcode?)です。これは、通常、OSによって採取され、デバッガやsimillarのようなユーザプロセスに取り込まれます。

私がこれを持っていたとき、私のコードがいくつかのデータ空間に飛び込んだことはほとんどいつもありました。ほとんどの場合、いつも悪夢をデバッグするときにブレークポイントをコードにハードコーディングしてしまったようです(!)。

編集:@Kenホワイトがint 3(ブレークポイント割り込み)言うように、私はどうなる

最初のものは、スタックトレースを取得し、backwords仕事です:-)私はハードコードに使用されるものです。

+0

良い点(+1)、私のCコードの可能性が高いです:-)でも、確かにDelphiの可能性は低いですか?それでも、コードを少しずつコメントアウトしてみたり、メッセージボックスを追加したり、このエラーの2つの間に表示されている箇所を見つけて見つけてください。ありがとう – Mawg

+1

私はDeplhiを使用していませんが、管理されたコードではないので、関数ポインタと同等のものを使用すると、私はいつもジャンプできます。 –

+0

Delphiは基本的にはパスカルです。それはポインタを持つことができますが、あなたはそれらを使用するためにフープをジャンプする必要があります - と私はしません。だからこそ、私のコードがデータセグメントに飛び込むことはありえないと思うのです(それ以外にも、そのメッセージの後にはうまくいっています)。 – Mawg

関連する問題