問題タブ [first-chance-exception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio-2010 - 出力ウィンドウでの最初のチャンスの例外を防ぐ
Visual Studio 2010では、初回例外が出力ウィンドウに書き込まれるのを防ぐことはできますか?設計上失敗しているキャストが多数あり、デバッグ時に出力ウィンドウがアプリケーションの速度を大幅に低下させているシナリオがあります。タイプ「System.InvalidCastException」の最初のチャンスの例外が発生しました...何度も何度も時間がかかります。Visual Studioのコンソールは高速ではありません:<)
ファーストチャンスの例外で中断しないオプションを知っていますが、それは出力ウィンドウに影響を与えないようです。私たちを遅くしている領域の前にこれを置くこともしません:
[出力]ウィンドウを閉じても効果はありません。ただし、リリースモードでは非常に高速に実行されます。
どんな助けでも大歓迎です!
c++ - 「ファーストチャンス例外...」メッセージの16進数はどういう意味ですか?
たとえば、メッセージでは次のようになります。
foo.exeの0x757bd36fでの初回例外:Microsoft C ++例外:メモリ位置0x001278ccの_ASExceptionInfo。
0x757bd36fと0x001278ccはどういう意味ですか?0x757bd36fは、例外がスローされたときのEIPを意味すると思いますが、2番目の数値はどうでしょうか。
c# - WebClient.DownloadString は最初のチャンスの例外を与える
WebClient.DownloadString を呼び出すと、初回例外が発生します。
しばらくの間、既存のコードでソフトウェアを実行すると、最初のチャンスの例外が発生します。
デバッグを容易にするために、最初の変更の例外を与えずにコードを実行するというポリシーがあります。
最初の例外は、DownloadString を呼び出すときに WebClient クラスで発生し、リモート ホストが使用できないリモート シナリオで発生します。
この最初のチャンスの例外を防ぐ方法を知っている人はいますか?
Windows 8 マシンで VS 2010 を実行しています。私の知る限り、ウイルス対策やファイアウォールを実行していません。
コードは、デバッグが有効になっている .Net Framework 4.0 の x86 モードで実行されています。コードは VB.Net と C# を組み合わせたものです
visual-studio-2010 - ソースコードにアクセスできない場合、サードパーティ コンポーネントからの特定の初回例外の繰り返しを抑制するにはどうすればよいですか?
C# 4.0 の私のプログラムは、インターネット上の外部ソースから DDE を介してデータの流れを継続的に取得するプロセスを起動する 3d パーティ ライブラリを使用しています。
プロセスを起動すると、Visual Studio 2010 の [出力] ウィンドウに、わずか 2 行が 1 秒あたり数十回の頻度で無限に繰り返されます。
これらの繰り返し (これらの 2 行の最初の出力の後) またはこれらの特定の例外を除外する方法はありますが、サードパーティの dll のソース コードにアクセスできない場合、一般的な最初のチャンスの例外は除外できませんか ?
更新:
主な問題は、使用されている 3D パーティ ライブラリのソース コードにアクセスできないことです。難読化されており、ライセンスによって干渉すると、その使用のすべての権利がすぐに無効になります。
しかし、本質的には例外、警告、およびエラーの出力が必要であり、わずか2つの例外の何千もの遍在する繰り返しによって雑然としています
c++ - Win7 64 ビットで未処理の初回例外でクラッシュする (XP 32 ビット、Linux 64 ビットでは問題なし)
Visual Studio Express 2010 で C++ を使用して OpenGl プログラムをコーディングしているときに、奇妙な問題が発生しました。
私が使用するもの: Windows 7 64 ビット、OpenGl 4.x
私のパートナーが使用するもの: Windows XP 32 ビット、Visual Studio Express 2010、OpenGl 2.x
今までは、モデルの頂点を描いただけで、両方のシステムで問題なく動作しました (非推奨ですが、まだ初心者です)。現在、彼は 3D メッシュをインポートしてアニメーションを作成するためのライブラリを含めています。彼にとってはすべてうまくいきますが、私は得ます
Ant Simulation.exe の 0x0055f838 での初回例外: 0xC0000005: アクセス違反の読み取り場所 0x00bb0000。
Ant Simulation.exe の 0x0055f838 で未処理の例外: 0xC0000005: アクセス違反の読み取り場所 0x00bb0000。
デバッガーを使用して、問題を次の行まで追跡しました
glDrawArrays(GL_QUADS,0,n_data);
コードをキャッチしようとしましたが、何もトリガーされません。奇妙なことに、昨日はデバッガーがクラッシュするまでこの行を2〜3回調べることができましたが、今日は直接クラッシュします。昨日、n_dataが毎回同じであることを確認しました。Windows で *.exe を実行すると、クラッシュします (以下のエラー コード)。パートナーから *.exe が送られてきても、通常は動作しませんが、一度起動できました。他のウィンドウでエラーを再現しました。Linux 64bit で試してみましたが、問題ありません。互換モードで実行してみましたが、問題は変わりません (まだクラッシュします)。
私は周りを検索して、これを見つけました
: -form-or-wpf-application.aspx?Redirected=true
これを正しく理解したかどうかはわかりません。キャッチできない例外がありますが、これはアプリケーションを強制終了します - しかし、他のシステムがこの例外に問題を抱えていないのはなぜですか?
リンクに記載されている方法で解決しようとしましたが、VS Express には初回例外をスローするメニューがないようです。私はVS 2012を入手しようとしますが、それでも知りたいのですが、これは完全にWindowsの問題ですか、それともコードの問題によってクラッシュが発生する可能性がありますか(リンクのコメントの1つで提案されているように)? また、実際に何が起こっているのかについての説明もいただければ幸いです...
*.exe を実行すると、次のエラーが表示されます。
問題イベント名: APPCRASH
アプリケーション名: Ant Simulation.exe
アプリケーション バージョン: 0.0.0.0
アプリケーション タイムスタンプ: 511d99a3
障害モジュール名: StackHash_0a9e
障害モジュール バージョン: 0.0.0.0
障害モジュール タイムスタンプ: 00000000
例外コード: c0000005
例外オフセット: 0037f278
OS バージョン: 6.1.7601.2.1.0.256.48
ロケール ID: 1031
追加情報 1: 0a9e
追加情報 2: 0a9e372d3b4ad19135b953a78882e789
追加情報 3: 0a9e
追加情報 4: 0a9e372d3b4ad19135b953a78882e789
.net - プログラムがクラッシュしますが、Debug Diag はそれが最初のチャンスの例外であると言っていますが、それは正しいですか?
おそらくこれは正常な状況ですが、私は混乱しています。
Visual Studio から C# Debug アプリケーションを実行しています。DebugDiag は、プロセスに自動的にアタッチするように設定されています。
このアプリケーションからクラッシュ ダンプを収集するルールがあり、このルールでは、未構成の初回例外に対するアクションを「なし」にする必要があると定義しています。
しかし、アプリケーションがクラッシュし、ダンプ ファイルを見ると、最初のチャンスの例外があると表示されます。
このSOの質問への回答から、「例外は最初にデバッガーにスローされ、次に実際のプログラムにスローされ、処理されない場合はデバッガーに2回スローされる」ことを理解しています
では、なぜ DebugDiag は初回例外のダンプ ファイルを収集するのでしょうか?
編集 明確にするために、ここで壊れたコードを修正しようとしているわけではありません。初回例外によりコードがクラッシュしたと DebugDiag が通知した理由を理解しようとしています。確かに定義上、2 回目の例外だけがコードをクラッシュさせる可能性があります。つまり、コードによって処理されていない例外ですか?
「crash」は、プロセスが終了し、DebugDiag がクラッシュ ダンプ ファイルを生成したことを意味します。「デバッグなしで開始」でコードのデバッグバージョンを実行していました
vb.net - System.ArgumentOutOfRangeException はどういう意味ですか? (vb.net)
「タイプ 'System.ArgumentOutOfRangeException' の初回例外が mscorlib.dll で発生しました」という例外が発生し、プログラムに影響を与えています。これが私のコードです。以下は、コードのテキストの要約です。
したがって、このコードは、テキスト ボックス 'Group_LeaderTextBox' ('X' と呼びましょう) がフォーカスを失ったときにリスト ボックスに値を追加するためのものです。
ロジックは次のとおりです (記述されたコードの順序で):
ただし、最初に、いくつかの前提条件があります。
- リスト ボックスにアイテムを追加する方法は 2 つあります。1 つは X を使用する方法 (フォーカスを失う) で、もう 1 つは別のテキスト ボックスを使用する方法 ('Y' としましょう) です。(重要ではありません)
- リスト ボックスに追加された X からのすべてのテキストは、リスト ボックスに既に存在するものに関係なく、リスト ボックスの最初に表示されます。
- X からのテキスト、たとえば "John" をリスト ボックスに追加すると、" (Group Leader)" という文字列が追加されて表示されます。そのため、フォーカスを失うと、「John」は「John (Group Leader)」として表示されます。Y からの入力もあることに注意してください。ただし、Y からの入力は、含まれているテキストにすぎません。
- (フォーカスを失ったときに) X が空の場合、リスト ボックスの最初の項目に部分文字列 "(Group Leader)" が含まれていると、その項目は削除されます。したがって、X から「ジョン」を削除すると、「ジョン (グループ リーダー)」が削除されます。そして、グループのリーダーがいなければ、何も起こりません。
論理:
X に「John」と入力したとします。フォーカスが失われ、リスト ボックスが空の場合、「John (グループ リーダー)」がリスト ボックスに追加されるだけです。それ以外の場合、たとえば、Y を介してリスト ボックスにいくつかの項目を既に追加している場合、プログラムはリスト ボックスに "John" が既に存在するかどうかを確認します。グループ リーダーが存在し、リストにまだ存在しない場合、項目「ジョン」は、リストの一番上に追加される「ジョン (グループ リーダー)」に置き換えられます (これは機能しません)。また、すでにグループ リーダーがいる場合は、「ジョン (グループ リーダー)」が一番上に表示されますが、前のグループ リーダーは降格されます。そのため、以前の "Dick" :P が以前のグループ リーダーであった場合、文字列 "(Group Leader)" は "Dick (Group Leader)" から削除されます。
ここで、リスト全体をチェックした後、"John" に一致するアイテムがない場合、プログラムは以前と同様に、グループ リーダーが既に存在するかどうかをチェックします。存在する場合、前のグループ リーダーは単純に「ジョン (グループ リーダー)」に置き換えられます。また、グループ リーダーがいない場合は、「ジョン (グループ リーダー)」がリストの一番上に追加されるだけです (これもうまくいきません)。
問題 1 (シナリオ)
X: ジョン
リスト:
ジョン・
リッキー・
ジェーン
OR (リストの順序は問わない)
リスト:
リッキー
・ジョン・
ジェーン
X がフォーカスを失うと、アイテム「ジョン」が削除され、代わりに「ジョン (グループ リーダー)」がリストの一番上に追加されるはずですが、何も起こりません。
問題 2 (シナリオ)
X: ジョン
リスト:
リッキー・
ジェーン
X がフォーカスを失うと、"John (グループ リーダー)" がリストの一番上に追加されるはずですが、何も起こりません。
そのため、これらの問題が発生するたびに、すぐにウィンドウに例外が表示されます。誰でも私を助けることができますか?ありがとうございました。
c++ - コードを実行する前に関数に入ると例外が発生する
いつものように、ここでは明らかな何かが欠けている可能性があります。仕事に関連しているため、ソースコード全体を投稿することはできませんが、 (行列を行列で乗算する)関数と関数(行列を転置行列で乗算する)を含むテンプレート化さMatrix
れたクラスがあります。それはすでにコードに存在しています。単精度浮動小数点値に特化した関数を追加しようとしています。同じ最初の 2 つの関数パラメーターを共有する同様の特殊化があります。コード例を次に示します。mulMM
mulMT
mulMT
mulMM
次に、別のファイルで:
コードを呼び出すと、mulMM は入力行列の値を正しく取得しますが、mulMT を呼び出すと、行列の次元の乱数が発生します。デバッガーを使用すると、関数に入ったときにマトリックスが適切に定義されていることがわかりますが、関数にステップインするとすぐに、値がすべて間違っています。私が使用しているコードの例を次に示します。
2つの値を異なるMTにしてみました。フロート用の mulMT が存在しない場合、汎用の mulMT が機能することを確認しました。なぜこれが何をしているのかわかりません。
編集: Float 特殊化内のコードが問題ではないことを証明するために、コメントアウトしました。すべてが機能しました。コードのコメントを外しました。すべてがまだ機能します。Visual Studio が混乱して何かを再コンパイルしなかったのではないかと考えています。
さらに編集: OK...これは非常に奇妙です。デバッグ時に、最初に mulMT に足を踏み入れると、 の行にドロップされconst bool softmax) {
ます。F10 を試すと、例外が発生します。F11 を押すと、 に落ちますChkStk.asm
。そのファイルを終了すると、関数の内部にアクセスでき、すべてが正しく割り当てられます。実際、テスト プログラムを再コンパイルしない限り、エラーなしで何度でもステップ実行または実行できます。ただし、テスト プログラムを変更して再コンパイルすると、動作が元に戻ります。
私は最初よりもさらに混乱しています。
編集: OK、2 日間問題が発生しなかった後、再び問題が発生しました。前に思ったような、価値観が変わるものではないと思います。代わりに、パラメーターが実際にインスタンス化される前に何かが起こっています。理由はまだわかりませんが、関数に入った後stkchk.asm
にヒットすると、これが私が持っている唯一の関数です。F11
UnitTest.exe の 0x00789adc での初回例外: 0xC0000005: アクセス違反の読み取り場所 0xabababab。私が得る例外です。関数の前半で、演算子で使用する変数を変更するだけで、ほぼ同じ呼び出しを行います。奇妙なことに、呼び出しの周りの try-catch ブロックは、プログラムのクラッシュを防ぐために何もしません。
c++ - 誰も関数を呼び出していない場合に初回例外が発生するのはなぜですか?
突然、コードが例外をスローし始めましたFirst-chance exception at 0x7731c41f in VideoPlayer.exe: Microsoft C++ exception: GenICam::RuntimeException at memory location 0x0018f5dc..
。どこからスローされたのか正確にはわかりませんでしmain
たmain
。コードがコメントmain
されたままになっている間に、コードのブロックを1つずつコメント解除し始めました。それをしているときに、コメントされているときは例外がありませんが、コメントを外されているときは上記の例外をスローする機能があることに気付きました。A
呼び出されていない場合に例外が発生する方法がわかりません(ブレークポイントを配置し、メインのコードがコメントされています)?