2

ここに画像の説明を入力してください

Excelファイルを特定の形式(エキゾチックなデータを大量に含む)で解析する、自分が作成しなかった大きな厄介なC#ツールをデバッグする必要があります。

ツールの実行は約15分間続き、エラーレポート(一般に数千のエントリ)が生成されます。問題は、コーダーが「エラー報告」のためにどこでも例外を使用していることです。私は、約2%の確率で発生するいくつかのnullポインター例外を見つける必要があります。私は、一貫性と実行の速さの両方の観点から、私の理解では悪い習慣であるすべてのキャッチ、グループ化、再スローについて話していません。

Visual Studio(2008)でNull Pointer Exceptionsのみを破る方法、または少なくともほとんどの例外をフィルタリングするためのトリックはありますか?ここでは、すべての例外を破ることはできません。

4

4 に答える 4

10

Visual Studioの[デバッグ]->[例外]で、中断する例外を指定できます。

NullReferenceExceptionは次の場所にあります。

CommonLanguageランタイム例外

  • システム
    • System.NullReferenceException
于 2012-11-20T13:56:47.130 に答える
4

私が考える最速のことは、すべてのcatch (文字列を見つけて、それらを次のように置き換えることです。

catch (NullReferenceException npe)
        {
        //something your logging here
        }
        catch (

次に、これらのキャッチセクションでのみ必要な場合は、ブレークポイントを追加します

于 2012-11-20T13:56:48.240 に答える
4

Visual Studio内で、 CTRL++またはgoto- ALT>を押します。表示されるダイアログで、NullReferenceExceptionの[スロー]ボックスをオンにします。[検索]ボタンを使用して検索することをお勧めします。EDebugExceptions

ここに画像の説明を入力してください

于 2012-11-20T13:59:16.097 に答える
1

ここの「スロー」列にチェックマークを付けます。

Debug -> Exceptions -> Common Language Runtime Exceptions -> System -> System.NullReferenceException
于 2012-11-20T13:59:07.390 に答える